ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:721.79KB ,
资源ID:545582      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/545582.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构校园导游系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构校园导游系统.docx

1、数据结构校园导游系统 课程设计论文(附有代码!)题 目: 校园导游咨询 学 院: 计算机科学与工程学院专 业: 计算机科学与技术 姓 名: 学 号: 指导教师: 2014年9月22日摘 要桂林众山环绕,风景优美,加之近年来校园环境也得到不断地改善,来访校园的游客逐渐增加,为了方便众多游客对校园景点的参观,需要给来访人士提供校园导游咨询服务,利用计算机建立一个便利的咨询系统可以很好地解决这个问题。在本设计实验中,我所采用的是邻接矩阵作为数据的存储结构,用不同的功能模块对两地距离和校园道路信息进行编辑。当游客来访时,系统能根据用户输入的景点代号查询景点信息,提供任意两个景点间的最短路径查询,并能查

2、询校园内的交通信息,方便游客访问。工作人员还可以为校园更新景点以及路径信息。本文将简单介绍该系统的开发背景,详细介绍系统的主要设计思路,函数的建立和使用过程,该系统功能的实现方式和实现结果,以及对所遇到问题的分析解决,最后对该系统进行总结描述。关键词:校园导游咨询;C+;数据结构;最短路径;查询;引言 11系统概述12需求分析12.1 系统需求12.2 开发环境23详细设计33.1 系统结构33.2 数据结构设计以及数据的初始化43.2.1 图结构设计43.2.2 数据的初始化43.3 查询模块的详细设计53.3.1 查询模块功能子函数设计53.4 更新功能模块详细设计73.4.1 更新模块功

3、能子函数设计84所遇到的问题和分析解决105系统特色及关键116结论12参考文献 13引言随着计算机科学技术的不断提高,计算机依靠其强大的功能已经成为人们生活中不可缺少的一部分,计算机能解决人类生活中的大部分问题,为人类文明和社会进步做出了巨大贡献。桂林是一个全世界著名的旅游城市,近几年来旅游业得到了飞速的发展,来自各个国家各个城市的游客给城市带来了巨大的经济效益。地处尧山地带的桂林电子科技大学风景非常优美,随着我们大学知名度的提高,来访游客数量大大增加,这就需要我们建立一个校园导游咨询系统来解决游客的来访咨询,为游客提供所需要了解的景点信息,或者统观所有景点信息后再选择需要参观的景点;校园里

4、有公车巴士等交通工具,价格合理,乘坐方便,可以为游客们提供代步工具,系统可以为游客提供所有的交通方式由游客自行选择。当游客们参观完某景点需要参观下一个景点时,系统可以为其提供两景点间的最短路径,减少游客的步行量。最终的目的是给各位游客们提供参观校园的便利,让游客更好地了解我们的大学。使校园旅游实现管理信息化,智能化。1 系统概述 从选定题目之后,本人在校园内做了实地调查,画出了大致的校园平面图;并查找相关资料,熟悉了开发环境以及图结构的知识。参考了资料书上的其他类似案例,对系统的开发做了较好的准备。该系统是由用户、管理员、计算机组成的用以进行校园咨询校园更新的系统。可实现通过认为输入查询各类景

5、点信息,交通信息;当校园景点更新时,工作人员可以及时地通过系统更新景点信息,为游客提供任意两景点之间的最短路径。2 需求分析2.1 系统需求校园导游咨询系统的基本要求:(1)设计你所在学校的校园平面图,所含景点不少于10个。(2)以图中顶点表示校内各景点,存放有景点名称、编号、简介等信息;以边表示路径,存放路径长度等相关信息。(3)为来访客人提供图中任意景点相关信息的查询。(4)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。(5)必须具有校园平面图的修改和扩充功能,即某些景点坐标的修改和景点个数的增加。 (6)需要有5条以上的文件记录。 (7)为游客提供校园

6、交通方案的查询。 (8)能够根据景点实际变化进行景点信息的更新。 (9)能够将更新后景点信息传入到文本文件里保存。程序设计分析: (1)构造一个无向带权网G并用邻接矩阵来存储; (2)利用Dijkstra算法来计算出起点到各个顶点之间的最短路径并进行存储,弗洛伊德算法将找出每一对顶点之间的最短路径;系统的输入与输出:(1)键盘输入。(2)磁盘输入输出。该系统需要具备下面几个使用要求: (1)需要有友好的系统界面,易于理解,操作简单,中文菜单。 (2)数据处理要保证精确度,能给予用户实际有效的信息。 (3)当用户输入错误,需要有友好的提醒界面,并能再次输入。 (4)将用户需要的信息完整地输出到系

7、统界面,不能输出无用信息和不完整的信息。 (5)系统易于读懂,易于维护和扩充。 2.2 开发环境 校园导游咨询系统在联想计算机上进行开发配置为: CPU:AMDTrinityAPUA8-4500M CPU 2.30GHz 操作系统为 windows 7 旗舰版(64)开发平台是VC+6.0开发语言:C+C+是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。3 详细设计3.1 系统结构从该系统整体结构上分析,该系统主要分

8、为查询模块和更新模块,查询模块包括景点信息查询,任意两景点间的最短路径查询,校园交通方案的查询这三个基本查询功能,基本上满足来访游客的查询需求。更新模块包括校园景点信息更新,校园景点道路更新,车辆行驶路线更新等功能,可以对校园各个信息进行更改,以便于来访游客能了解到景点的最新信息。这两个模块之间通过这里已经具有了紧密的联系。因为各种查询必须建立在各种数据的输入更新之上,当校园信息改变时,游客查询得到信息也应该是更新过后的信息。通过查询模块与更新模块之间的功能联系,就可以实现一个有机的循环。系统基本运行界面如下所示,这里我用了一个while(1)将开始菜单放到一个初始大循环里,当用户操作完成一项

9、基本功能后便会自动回到这个主菜单,方便下一个用户的使用。用一个switch(k)由用户输入的相应字符来执行相应的功能函数,最后可以按#号键退出。3.2数据结构设计以及数据的初始化3.2.1图结构设计在本系统中,需要使用图结构来存储各个景点数据。图由若干边和若干顶点组成,在这里每个顶点对应的景点包含有景点编号,景点坐标,景点名称,景点简介这些信息。图是一种非线性的数据结构,其中的数据元素之间是多对多的的关系。对于校园景点来说,其中每一个景点可以看做是一个顶点,若两个景点之间可以直接到达,那么他们有一条边相连,在边上附加一个权值,代表两个景点间的距离。若两景点间不能直接到达,我们可以使用一个给定的

10、数值来代表距离的无穷大。我们使用邻接矩阵来表示图,它由一个顺序存储顶点信息的顶点表和一个存储顶点间的相互关系的关系矩阵两部分组成。如下所示,图结构包括当前顶点数目,当前边的数目。用一个一维数组来存放顶点,用一个二维数组来存放边。 typedef struct int n,e; /顶点数目,边数目 Vertex vexsMaxVertexNum; /存放顶点 Vertex* pvexs; /顶点指针 int edgesMaxVertexNumMaxVertexNum; /存放边MGraph;3.2.2数据的初始化图结构定义好之后,就需要把图结构中的各个数据项初始化。方便后边程序的使用。首先在程序

11、中定义一个图的全局变量MGr,初始时默认顶点个数也就是景点个数为15,给每个景点按照校园地图附上景点信息,并用一个for循环暂时先给图中每一条边赋值为无穷大,顶点到自身的距离为0。然后通过一个int mile(int a,int b)函数,通过给定的两个景点的编号来调用两个景点的x,y坐标进而求出它们间的距离。并将求出来的距离赋值到图结构的相应的边上。在车辆结构中,也先定义一个车类型的全局变量,用数组来表示三种不同类型的车辆,每种车型包含有车辆名称,车辆速度,车辆票价,车辆行驶路线等基本信息。3.3 查询模块的详细设计本模块主要用于实现游客对现有景点的信息的查询,通过这个模块的功能可以为游客提

12、供需要查找的景点信息。由于本系统需要使用文本文件来存储景点信息,所以我们在程序里要首先创建一个文本文件来存放所有的景点信息,当使用景点查询功能时,首先在文本文件中找到对应的景点信息,然后从文本文件里输出并显示。考虑到如果用户需要一次性查询所有景点信息,则将文本文件里的所有景点信息输出显示。在该模块中,程序还可以实现两个景点间最短路径的查询。图结构中已经存放有边的长度的数组,任意两个景点之间可以有多条路径到达,为了能使用户快速地到达,使用Dijstra算法和打印函数可以实现最短路距离的查询,并将该条路径顺序打印到屏幕上。为了使功能丰富,这里还添加了校园交通方案的查询。提供给用户两个景点之间的多种

13、交通方案供用户选择。给每一种类型的车辆规定一条路径,该种车辆在这条道路上往返,能够经过某些景点,但也有某些景点不能通过。反馈给用户包括车型、车辆从出发点到终点所用的时间、票价信息。3.3.1查询模块功能子函数设计(1)void writefile()函数文本文件的读入函数。使用ofstream fout(ST3.txt)来实现建立打开一个文本文件,并用一个for循环来依次读入校园景点信息,每一个景点信息存放为一行,信息读入完成关闭ST3.(2)void find(int i)与void allvexs()函数这里的整型参数i代表着需要查询的校园景点的编号,使用ifstream fin(ST3.

14、txt)来打开存放有所用景点信息的文本文件,用一个for循环来查找该编号是否存在。在void allvexs()中用一个for循环多次调用void find(int i)函数,实现对所有景点信息的查询。(3)void Dijkstra(MGraph *G,int v,int path,int dist)函数这里使用了著名的Dijkstra算法,它可以实现求出图中某个源点到其余各顶点的最短路径。按照路径长度递增的次序产生最短路径。首先在程序中定义两个个数组distMaxVertexNum、pathMaxVertexNum,数组元素pathi用来存放各个顶点的顶点信息,其中每个元素disti表示起点V0到每个终点的最短路径长度。假设S表示以求出的最短路径的终点集合,那么下一条最短路径即从顶点V0到达顶点Vx的路径,它们之间的最

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1