校园导游系统程序 课程设计 报告.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:13 大小:146KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

校园导游系统程序 课程设计 报告.doc

校园导游系统程序课程设计报告.doc

预览

免费试读已结束,剩余 3 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录TOC\o"1-3"\u1、需求分析PAGEREF_Toc234552941\h12、设计思路PAGEREF_Toc234552942\h13、算法设计13.1概要设计13.1.1程序中包含的模块13.1.2模块间的调用关系23.2详细设计24、测试分析94.1主程序界面94.2景点信息的查询104.3最短路径查询115、总结116、参考文献127、附录121、需求分析设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询。(1).设计潍坊学院校园平面图,所含的景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2).为来访客人提供图中任意景点相关信息的查询。(3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。2、设计思路校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德(Floyd)算法实现。最后用switch选择语句选择执行浏览景点信息或查询最短路径。3算法设计3.1概要设计3.1.1程序中包含的模块(1)主程序模块主函数:voidmain()打印菜单,景点,景点信息(2)查询模块景点信息查询:voidintroduce()最短路径查询:要查找的两景点的最短距离:intshortestdistance()用floyd算法求两个景点的最短路径:voidfloyd()(3)打印模块打印两个景点的路径及最短距离:voiddisplay(inti,intj)3.1.2模块间的调用关系主函数main()调用:voidintroduce()/*景点介绍*/intshortestdistance()/*要查找的两景点的最短距离*/shorestdistance()调用:voidfloyd()/*用floyd算法求两个景点的最短路径*/voiddisplay(inti,intj)/*打印两个景点的路径及最短距离*/3.2详细设计/*定义符号变量/*#defineINT_MAX10000#definen10/*定义全局变量*/intcost[n][n];/*边的值*/intshortest[n][n];/*两点间的最短距离*/intpath[n][n];/*经过的景点*/stringM[100];/*景点名称*/stringJ[100];/*景点介绍*//*自定义函数原型说明*/voidintroduce();intshortestdistance();voidfloyd();voiddisplay(inti,intj);定义各顶点之间的距离:for(i=0;i<=n;i++)for(j=0;j<=n;j++)cost[i][j]=INT_MAX;cost[1][2]=cost[2][1]=3;cost[2][3]=cost[3][2]=1;cost[3][4]=cost[4][3]=2;cost[4][5]=cost[5][4]=1;cost[5][6]=cost[6][5]=1;cost[3][6]=cost[6][3]=2;cost[1][4]=cost[4][1]=5;cost[1][7]=cost[7][1]=7;cost[4][7]=cost[7][4]=1;cost[7][5]=cost[5][7]=1;cost[7][8]=cost[8][7]=2;cost[8][9]=cost[9][8]=1;cost[5][9]=cost[9][5]=2;cost[8][5]=cost[5][8]=2;cost[8][10]=cost[10][8]=1;cost[1][1]=cost[2][2]=cost[3][3]=cost[4][4]=cost[5][5]=0;cost[6][6]=cost[7][7]=cost[8][8]=cost[9][9]=cost[10][10]=0;界面菜单设计:while(1){printf("-------------------欢迎使用校园导游系