数据结构课程设计报告
题 目: 校园的导游交通咨询系统 学 院: 软 件 学 院 姓 名: 学 号: 专 业: 软件开发 班 级: 指导教师: 职 称:
二0一 年 月
目 录
一.需求分析 ............................................................................................................... 1 二.概要设计 ............................................................................................................... 2 2.1算法的流程图 ................................................................................................... 2 2.2功能模块说明 ................................................................................................... 2 三.详细设计 ............................................................................................................... 4
3.1 函数声明 ......................................................................................................... 4 3.2 功能函数实现 ................................................................................................. 4 3.3 主函数 ........................................................................................................... 16 四.测试分析 ............................................................................................................. 18 五.心得体会 ............................................................................................................. 21
校园的导游交通咨询系统
一. 需求分析
现在大多数的学校由于不断的扩张,这也就使得学校不得不建立的更大。这也就为人们拜访学校造成了很大的不便。人们往往不熟悉学校,找个东西,或某处带来了极大的不便。往往要花很多时间在这一方面。然而要是有一个学校导游系统这将给乘客带来极大的方便,使人们一下就能了解到这个学校的大致的情况。
设计一个可向来访客人提供最短路径的校园导游交通咨询系统。
功能:
这个系统给用户提供浏览该学校平面图、查询景点,浏览路径,寻找最佳的方案到达目的地,还提供了最佳路径。
实现的目标:
(1).设计学校的校园平面图,所含景点不少于12个。以图中结点表示校内各景点,存放景点名称、序号、简介等信息;以边表示路径,并存放其权值。 (2).为来访客人提供图中任意景点相关信息的查询,包括按景点编号和景点名称查询两种方式;提供图中任意景点的最短路径查询,并求出最短距离。 校园平面图:
2 8 9 0 5 3 10 6 1 7 4 11
0:商业街 1:校医院 2:南区稻香楼食堂 3:前街 4:北区菽香楼食堂 5:教育超市 6:体育馆 7:北区田径场 8:五教先骕楼 9:逸夫图书馆 10:农大正门 11:一教惟义楼
-1-
校园的导游交通咨询系统
二.概要设计 2.1算法的流程图
系统分析:
用图的算法进行构造,用邻接表建立图,然后再用深度优先遍历进行搜索,查找所需的路径。再用狄克斯特拉算法求出两个景点之间的最佳路径。
创建各景点及其信息函数 景点信息界面函数 输出最短路径函数
main 输出最短距离函数
2.2功能模块说明
-2-
选择菜单函数 查找菜单函数 查找子菜单函数 输出农大平面图的函数 校园的导游交通咨询系统
2.1.1创建各景点及其信息函数(CreateInfor):
建立无向图,把学校的景点及景点的信息,连接起来,并写入距离(权值),采用二维数组进行距离的存储。
2.1.2景点信息界面函数(GuideInfor):
列出学校的所有的景点及其信息,采用printf输出函数和for循环语句。
2.1.3输出最短路径函数(ShortestPath):
输入起始景点和终点景点,会吧所有都浏览一遍,并找出最佳的路径,采用狄克斯特拉算法设计。
2.1.4输出最短距离函数(Output):
求出最佳路径的长度,使用for循环语句和if判断语句进行操作。
2.1.5选择菜单函数(Menu):
包含四个选项: (1)浏览校园平面图; (2)查询景点信息; (3)查询景点路径; (4)退出。
do while语句输出景点信息界面选择项。
2.1.6查找菜单函数(search):
选择菜单中输入2进入,提供三个选项、两种查询方式: (1)按照景点编号查询; (2)按照景点名称查询; (3)返回;
do while语句和swich语句嵌套使用完成查找选择子菜单函数的选择项输出。
2.1.7查找子菜单函数(SearchMenu):
含两种查询方式,do while语句输出查找选择子菜单。
2.1.8输出农大平面图的函数(PrintMap):
浏览学校的平面图,采用printf输出函数。
-3-