数据结构校园导航系统课程设计报告.docx
- 文档编号:2262283
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:45
- 大小:615.21KB
数据结构校园导航系统课程设计报告.docx
《数据结构校园导航系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据结构校园导航系统课程设计报告.docx(45页珍藏版)》请在冰豆网上搜索。
数据结构校园导航系统课程设计报告
《校园导航系统》
课程设计报告
姓名:
蒋小文
学号:
110236100123
班级:
1班
专业:
网络工程
指导教师:
唐轶媛蒋荣萍
时间:
2012年7月5日
信息科学与工程学院
摘要……………………………………………………………….……………….1
1.目的…………………………………………………………….……….……...2
2.要求……………………………………………………………….....................2
3.题目…………………………………………………………………….…........2
4.任务………………………………………………………….….......................2
1).需求分析……………………………………………………..........…….…3
2).概要设计…………………………………………………..........……….…4
3).详细设计………………………………………………………….….........5
4).调试分析………………………………………………………….….........8
5.课设总结………………………………………………………….…............18
6.附录源代码………………………………………………………….….........19
1.
目的
数据结构是计算机专业的核心课程,是一门实践性很强的课程。
课程设计是加强学生实践能力的一个强有力手段,要求学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C(C++)程序并上机调试的基本方法,还要求学生在完成程序设计的同时能够写出比较规范的设计报告。
2.要求
2.1课程设计时间为2周;
2.2设计语言C(C++)不限;
2.3课余时间完成源程序和课程设计报告等文档书写工作,上机时间只能做调试工作。
上机时带上源程序、数据结构教材、C语言教材。
2.4上机任务
(1)选择并定义合适的数据结构;
(2)根据程序所要完成的基本要求,设计出完整的算法;
(3)设计出主程序(main函数),使其成为完整的程序。
2.5上机时间:
上午8:
30--11:
30,下午3:
00--5:
30
3.题目
题目:
校园导航系统
设计一个校园导游程序,后台操作:
3.1、操作员信息管理如修改密码等
3.2、能根据学校的规模进行添加景点信息、修改景点信息等功能,
3.3、若临时有交通管制,能进行交通管制的设置和撤销(如某某时间段那条路进行那个方向的交通管制等)
3.4、前台为来访的客人提供各种信息查询服务:
3.4.1、设计学校的校园平面图,所含景点不少于10个。
以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
3.4.2、为来访客人提供图中任意景点相关信息的查询。
3.4.3、提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。
4.任务
4.1需求分析
此系统使用者分为访客与管理员,访客按要求可直接使用本系统所具有的查询两景点间的最短距离,查询景点的相关信息.管理员按要求在输入密码的情况下,可修改登录密码,修改景点信息,添加景点,添加景点信息,交通管制,撤销交通管制,以及新建路径.
4.1.1登录:
访客无需登录,首先将密码存在一个文件中,当输入的密码与从文件cipher.txt读取的密码相同,管理员方可进入后台管理员操作界面,
4.1.2修改登录密码:
管理员进入后台操作管理员操作界面,若需改动当前的登录密码,首先必须要输入原密码,以确定是管理员自己修改密码.在原密码输入正确的情况下输入新密码,为了管理员更好的确人自己的新密码,必须两次输入的新密码一致(password1==password2)才可以修改成功.
4.1.3添加新的结点:
若校园有新的景点出现,管理员须将新的景点的相关信息加入系统,将景点编号,名字,景点介绍这些信息写入存储景点信息的文件当中.原来已经有G.vernum个景点,是一个G.vernum行G.vernum列的矩阵,加一个景点后便是一个G.vernum+1行G.vernum+1列的矩阵,将新结点与其他存在的直接路径的结点之间的路径权值.存入邻接矩阵中,没有直接路径值的存一个无穷大的数(此系统用10000)于矩阵中,使得访客可以查询到新景点的相关信息和到达新景点的最短路径.
4.1.4修改景点信息:
若学校某景点的信息有改变,管理员进入系统对景点的信息进行修改,从文件information.txt.中读取出景点信息,修改之后,再把信息存入information.txt中,使访客了解最新的景点信息.
4.1.5交通管制路径:
当学校举办大型活动,或者大型考试的时候,对路进行交通管制,以确保活动的正常举行,从connect.txt读取景点之间的邻接矩阵,将需要进行进行交通管制的路径赋值为一个无穷大的数(此系统用10000)来进行对路径的屏蔽作用.访客要到达目的地需要绕道而行.
4.1.6恢复撤销路径:
在活动或者考试结束后,管理员需要对之前进行交通管制的路径进行撤销交通管制,此功能的实现过程与交通管制功能的实现过程刚好相反,将需要撤销的路径,将其路径值有10000改成其真实路径值,恢复正常的交通秩序.
4.1.7新建景点路径:
学校可能考虑为了广大老师和学生的方面,可能会新建一些路径,例如国教楼和四坡食堂所建的风雨桥,管理员便需要把新建的路径加入系统,此功能的实现代码与撤销交通管制的路径完全相同,将景点的两路径值赋值为其真实值,存入connect.txt文件中.使得访客能够走最短的路径到达目的地,节省时间体力,减少不必要的麻烦.
4.1.8查询最短路径:
访客无需密码可直接使用本系统,最为访客,总是希望以最少的时间和路程到达自己的目的地,利用弗洛伊德算法,求出最短路径,三维数组用来存储量景点最短路径的中间景点,二维数组用于存放两顶点间的路径长度.访客在输入自己的出发地点(或者当前所在地点),再输入目的地,方可在屏幕上显示出出发地点到达目的地的最短路径.
4.1.9查询景点信息:
当访客进入广西民族大学时,当不知道该去哪个景点时,可利用本功能进行查询各景点的信息,从information.txt中将文件读取出来,然后将我们需要的景点信息显示出来,访客根据显示的信息选择自己感兴趣的景点.
4.2概要设计
1).数据对象V:
V具有相同特性的数组元素的集合,称为顶点集
2).数据关系R:
R={VR}
VR={
ADTGraph{
数据对象V:
一个集合,该集合中的所有元素具有相同的特性
数据关系R:
R={VR}
VR={
.基本操作:
1.Voidmain()
2.voidWelcome();//开始欢迎界面
3.voidSelect();//选择管理员和访客
4.voidInputPassword();//密码输入
5.voidAdminister();//管理员操作
6.intIncreat_point_information();//增加景点信息
7.voidChagePassword();//修改密码
8.voidAddPoint();//增加景点
9.voidDeletPath();//交通管制,删除路径
10.voidCancel();//取消交通管制,恢复路径
11.voidNewPath();//新建路径
12.intInitgraph();//初始化邻接矩阵
13.voidCorrectInformation();//修改景点信息
14.voidStartGuide();//访客界面
15.intSearchPath();//查找最短路径
16.voidSearchInformation();//查找景点信息
17.voidReturn();//返回主菜单
18.intRead_sight_information();//读取景点信息文件
19.voidRemeber();//密码错误提示
20.voidTime();//时间停留
21.voidGoodbye();//退出系统
4.3详细设计
4.3.1校园景点路径平面图
4.3.2总体流程
4.3.3各主要功能伪代码;
voidmain
{
1."欢迎使用本系统";
2.Select();//使用者选择自己是管理员/访客
3."退出本系统使用"
}
//密码输入
Inputpassword
{
password=从文件中读取密码
cin>>cipher;//输入密码
if(cipher==password)
cout<<"成功进入系统"
}
//修改密码
Changepassword
{
charpassword1,password2,cipher1,cipher2;
cipher1=从文件中读取原密码;
cin>>cipher2
if(cipher1=cipher2)
cout<<"输入新密码";
cin>>password1;
cout<<"再次输入新密码";
cin>>password2;
if(password1==password2;)
"修改成功"
else
"修改失败";
返回主菜单
}
//增加景点信息
intIncreat_point_information()
{
依次输入景点信息的编号,名称,信息存入numbernameinformation中;利用C++里的ios:
:
app,在文件末尾追加信息
}
//交通管制
voidDeletPath()
{
首先确定进行交通管制的路径相关联的两个景点编号i,j;
读取矩阵文件connect.txt文件,将信息读取到二维数组中,
对应于景点编号的位置的路径权值赋值为10000,用以屏蔽路径,表示进行交通管制
单向交通管制:
单向1G.adjarcs[i[j].adj=10000;
单向2G.adjarcs[j][i].adj=10000;
双向交通管制:
G.adjarcs[here][that].adj=G.adjarcs[that][here].adj=10000
存入文件即可
}
//取消交通管制
voidCancel()
{
实现过程与进行交通管制的实现方式正好相反,
确定于取消路径相关联的两个景点标号,ij;
路径长度weight;
cin>>weight;
G.adjarcs[i][j].adj=G.adjarcs[j][i].adj=weight;
}
//新建路径
voidNewPath()
{
实现代码与"取消交通管制"代码完全一致;
}
//修改景点信息
voidCorrectInformation()
{
从information中读取景点的编号,名称,介绍的相关信息
outfile< 选择要进行修改的景点标号: i; 修改完毕后再次写入文件保存即可 } intSearchPath() { 定义数组三维p[10][10][10],用于寻找任意两景点间最短路径中的景点, 定义二维数组D[10][10]用于存放两顶点间的最短路径; 初始化任意两景点间的最短路径和最短路径上的景点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 校园 导航系统 课程设计 报告