校园导航系统
数据结构课程设计
前言
现代社会,新兴科技日新月异,信息千变万化,人们在渴望得到最多最广的信息的同时又渴望得到信息的路径能越来越简单,易操作,而且能在简易的操作中得到更多的信息。这就要求信息咨询系统的开发者在开发之时能尽可能的全面理解客户的想法要求,而且在开发的时候能更简易的操作和更新,这种思想都符程序设计的开发思想。
本次设计任务是设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,出从任意场所到达另一场所的最佳路径(最短路径),其实就是数据结构中图类的问题。将校园景点作为图的结点,将景点间的路径作为图的边,路径距离作为边的权值。这样一来,求两景点间最短路径的问题就抽象成了求图中一结点到另一结点的问题。
关键字:校园导航 数据结构 C语言
1引言
导航页源码本概要设计说明书基于之前建立的软件需求设计基础上,对“蚌埠学院校园导航系统”做出概要分析。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
2程序设计
2.1设计时间
2015-06-01—2015-06-15
2.2设计目的
1.加深对《数据结构》这门课程的进一步理解与巩固
2.通过课程设计,培养自己的编程能力以及团队协作能力
3.加强自己对实际问题的分析能力,以及如何更好的将一些经典的算法应用于实际
2.3设计任务
该导航系统为参观者提供校园主要建筑的基本信息及各建筑间的距离,同时通过该系统计算出所在位置到目的地的最短路径。
2.4需求分析
1.程序体现的功能:
(1) main()——主函数
(2) navigate()——导航函数
(3) pri()——打印校园平面图函数
(4) visit()——递归查路线函数
2.正确输入与输出形式:
如:
执行建筑查询功能:
1输入为:sod
输出为:该建筑所在的坐标为7 8
种有花草和一些艺术标记物
2输入为:ld
输出为:该位置没有到
你的建筑没有到
执行导航功能:
输入为:请输入你所在位置:gym
输入你要的目的地:sod
输出为:打印并给出所有可能走通的线路,
计算出两地间的最短路径(距离)
执行显示最短路径功能:
输入为:请输入你所在位置:sod
输入你要的目的地:office
输出为:其中最短路径为:
平面图中包含最短线路图,
其行走的距离为450米
2.5概要设计
2.5.1.设计思路和主要步骤
按照需求分析,首先我们先要把学校的整体布局给设计出来,即用一个二维数组char arr[17][22]表示学校的整体布局,并将每个建筑物用特殊的符号表示:/*2为墙壁 ■ A办公楼◆ c教学区● g草坪△ p操场▓ 0 路 b图书馆★ M门□ m 食堂○h为宿舍☆ T为体育馆▲ l为实验室 ╳*/,然后要打印出学校的整体布局,设计一个pri(char ,int)打印出学校的整体布局。
在学校里,最重要的是校园的导航系统,这样可以使人耳目一新的知道某个地方的某个地方的路径,所以设计校园导航函数是必须的,因此我们设计void navigate(int x)函数,在图的应用中,一个最重要的知识就是求最短路径, 我们并没有用迪杰斯特拉的算法和弗洛伊德算法来实现这个功能,而是利用了迷宫求解问题中的递归意义来实现求最短路径的功能void visit(int qiX,int qiY,int zhX,int zhY, int x)用于查某地点到某地点的所有路径,然后进行比较,将最短路径用函数void fuzhi(将最短路径存放在一个数组中)。
2.5.2程序流程图
2.6详细设计
按照需求分析中的需求,和概要设计中的各流程图的模块,进行详细设计,完善各流程的代码,详细设计如下:
2.6.1学校整体局部
char arr[17][22]={
/*2为墙壁 ■ A办公楼◆ c教学区● g草坪△ p操场▓ 0 路 b图书馆★ M门□ m 食堂○h为宿舍☆ T为体育馆▲ l为实验室 ╳*/
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{'2','2','2','2','2','2','2','2','2','2','2','2','2','M','2','2','2','2','2','2','2','2'},
{'2','A','A','A','0','c','c','c','c','c','c','c','c','0','2','p','p','p','p','p','p','2'},
{'2','A','A','A','0','c','c','c','c','c','c','c','c','0','2','p','p','p','p','p','p','2'},
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论