课程设计报告
课程设计题目: 校园导航
专 业: 计算机科学与技术
班 级: 1230701
学 号: 201320070142
学生姓名: 胡玖龙
指导教师: 刘志锋
2014 6 19
年 月 日
实验题目:
校园导航系统
实验时间:
2014/6/16-2014/6/19
实验地点:
软件楼402
实验目的:
综合运用所学的数据结构知识解决一个关于学校导航系统的问题,侧重对图
的相关内容特别是求最短路径的应用,使得能进一步熟悉掌握数据结构的基础知
识,进一步提升自己的解决问题和编程调试能力,为后续专业课程的学习打下基
础。
实验要求:
设计学校的平面图,至少包括 10 个以上的场所,每两个场所间可以
有不同的路,且路长也可能不同,找出从某个场所到达另一场所的最佳
路径。
求最短路径用 Dijkstra 或 Floryd 算法实现。
实现思路:
先分析需求,本程序的主要目的是提供本学校地点的路径查询,并提供其他
各种信息查询服务。
需求:
1、提供校园平面图,使得能直观的了解学校。
2、提供地点信息查询,为各地点提供简短的介绍。
3、提供任意两地点间最短路径查询,并计算总路程。
根据要求,先将校园平面图信息抽象为无向网,用邻接矩阵存储。
需求1:
定义map()函数,功能是输出校园的平面图。可简单的通过printf()函数
实现。
需求2:
定义Query()函数,功能是查询输出地点信息。可直接输出无向网中的顶
点信息。
需求3:
根据输入的起点和终点,运用Floryd 算法,求出最短路径,计算路径
长度并输出。
考虑到使用者并不一定需要使用所有的功能,所以开始时需要一个选择菜单。
定义Menu()函数,功能是提供功能选择。
1
输入 ,选择查看学校平面图
2
输入 ,选择查看各地点信息
3
输入 ,选择查找两地点间最短路径
4
输入 ,退出程序
总流程图:
开始
执行Menu 函数
输入选择i
Y
i 4?
N
1 3
i ?
2
平面图模块 地点信息查询模块 求最短路径模块
结束
平面图模块流程图:
开始
输出校园平面图
结束
地点信息查询模块流程图:
开始
输出各地点编号