1、 课程名称课程名称 数据结构数据结构(基于基于 C 语言)课程设计语言)课程设计 题题 目目 校园导游程序的设计与实现校园导游程序的设计与实现 院院 系系 信息科学技术信息科学技术学院学院 软件专题训练任务书软件专题训练任务书 软件专题训练题目 校园导游程序 姓名 学号 专业班级 12 级通信 B 班 组别 组长 同组成 员 指导教 师 吴泽辉 专题训 练目的 通过校园导游程序的设计与实现, 熟 1 练掌 7 握图型结构在实际问题 中的应用。 专题训 练环境 运行环境为 Visual C+ 6.0 课程设 计任务 和要求 设计校园导游程序,基本要求: 1咨询以用户和计算机的对话方式进行,由用户
2、输入起始点和终点,输 出信息:最短路径是多少?并指出所经过的场所。 2、计算并记录从校门口到各个场所的最短路径,即求单源点到其它各个 场所的最短路径。 3、提供校园中任意场所的问路查询,即求任意两点之间的最短路径。 参考 文献 1、严蔚敏等. 数据结构(C 语言版). 清华大学出版社 2004 2、谭浩强. C 语言程序设计. 清华大学出版社. 2002 3、李春保. 数据结构教程上机实验指导. 清华大学出版社. 2005 校园导游程序校园导游程序 一、简介一、简介 1设计目的:通过校园导游程序的设计与实现,熟练掌握图型结 构在实际问题中的应用。 2问题的描述:设计一个校园模拟导游程序,为新生
3、或来访的 客人通过与机器的“对话“提供最短路径的信息查询服务。 1任意 选取 n 个场所,构成一个无向带权图,图中顶点表示场所,边上的权 值表示两点间的距离,图的存储结构可采用带权的邻接矩阵。 2咨询以用户和计算机的对话方式进行,由用户输入起始点和 终点,输出信息:最短路径是多少?并指出所经过的场所。 3、计算并记录从校门口到各个场所的最短路径,即求单源点到 其它各个场所的最短路径。 4、提供校园中任意场所的问路查询,即求任意两点之间的最短 路径。 二、数据结构的设计:二、数据结构的设计: 由于各个场所通过校园中的道路相连, 各个场所和连接它们的道路 构成了整个校园的地理环境, 所以使用图这种
4、数据结构对他们去进行 描述。以图中的顶点表示校园内各个场所,应包含场所名称、代号、 简介等信息;以边表示连接各个场所的道路,应包含路径的长度等信 息;顶点和边均使用结构体定义,整个图的数据结构采用教材中介绍 的带权的邻接矩阵方法。 二、数据结构的设计:二、数据结构的设计: typedef struct ArCell int adj; /路径长度 ArCell,AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM; typedef struct /图中顶点表示主要景点,存放景点的序号、名 称、介绍等信息, char name30; int num; char introdu
5、ction100;/简介 infotype; typedef struct infotype vexsMAX_VERTEX_NUM; AdjMatrix arcs; int vexnum,arcnum; MGraph; MGraph b; void cmd(void) int i; b=InitGraph(); Menu(); scanf(“%d“, while(i!=4) switch(i) case 1:Browser(Menu();break; case 2:ShortestPath_DIJ(Menu();break; case 3:Floyd(Menu();break; case 4:
6、exit(1);break; default: printf(“输入序号不存在,请重新输入“);break; scanf(“%d“, MGraph InitGraph(void) MGraph G; int i,j; G.vexnum=10; G.arcnum=14; for(i=0;ivexnum) printf(“输入错误, 景点序号不存在!请再次输入景点序号:“); scanf(“%d“, if(v0=0 for(v=0;vvexnum;v+) finalv=0; Dv=G-arcsv0v.adj; for(w=0;wvexnum;w+) pvw=0; if(Dvvexsv0.name); for(w=0;wvexnum;w+) if(pvw t+; if(tG-vexnum-1 /Shortest