校园导游系统设计一、设计要求1.问题描述设计一个校园导游程序,为来访的客人提供信息查询服务。2.需求分析(1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。(2)存放景点代号、名称、简介等信息供用户查询。(3)为来访客人提供图中任意景点相关信息的查询。(4)为来访客人提供图中任意景点之间的问路查询。(5)可以为校园平面图增加或删除景点或边,修改边上的权值等。二、概要设计为了实现以上功能,可以从3 个方面着手设计。1.主界面设计为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10 所示。2.存储结构设计本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、 景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum 表示,它们是整型数据。此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus 是一个图结构的全局变量。3.系统功能设计本系统除了要完成图的初始化功能外还设置了8 个子功能菜单。图的初始化由函数initgraph( ) 实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8 个子功能的设计描述如下。(1)学校景点介绍学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。(2)查看浏览路线查看浏览路线由函数shortestpath_dij( ) 实现。该功能采用迪杰斯特拉(Dijkstra )算法实现。当用户选择该功能, 系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。(3)查看两景点间最短路径C 语言与数据结构课程设计2 查看两景点间最短路径由函数shortestpath_floyd( ) 实现。 该功能采用弗洛伊德(Floyd )算法实现。 当用户选择该功能,系统能根据用户输入的起始景点及目的地景点编号,查询任意两个景点之间的最短路径线路及距离。(4)景点信息查询景点信息查询...