项目2:校园导游咨询
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1) 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景点名称、代号、简介 等信息;以边表示路径,存放路径长度等相关信息。
(2) 为来访客人提供图中任意景点相关信息的查询。
(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
【测试数据】
以江苏科技大学长山校区为例。
【实现提示】
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网.顶点和边均含有相关信息.
一、需求分析
1、分析问题
首先要用二维数组来表示景点之间的距离。景点信息用文本形式预先存放在指定文件下,一个文本存放一个景点信息,显示某一景点信息则打开相应文本,显示到计算机上。
2、测试数据
由读者根据实际情况指定。注意边界条件数据
3、实现提示
一般情况下,校园的道路是双向通行的,可设校园平面网是一个无向网。顶点和边均含有相关信息。
二、概要设计
编写目的:
根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。
1、模块图
该系统可以按功能进行模块划分,其模块图如下:
校园导游咨询主流程图
其中:
Introduce菜单是实现任意景点相关信息的查询等功能。
Shortestdistance菜单是实现任意景点的问路查询等功能。
Exit退出系统模块完成退出dos界面的功能。
菜单显示模块完成用户命令的接收,对各功能进行选择操作的功能。此模块也是系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能。
2、数据结构
(1)构造一个无向图G并用邻接矩阵来存储。
(2)利用弗洛伊德算法来计算出起点到各个顶点的最短路径用二维数组shortest[N][N]来记录。
(3)根据起点和终点输出最短路径和路径长度。
3、各模块之间的调用关系
校园导游咨询—当用户单击introduce菜单时
校园导游咨询—当用户单击shortestdistance菜单时
校园导游咨询—当用户单击exit菜单时
4、程序流程
系统的执行应从功能菜单的选择开始,依据用户的选择来进行的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。
系统的流程图如下: