- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 公交路线管理模拟系统
《数 据 结 构》课 程 设 计 报 告
一、课程设计名称
公交线路管理模拟系统
二、实用工具软件
Microsoft visual C++ 6.0
三、课程设计内容简介
实践目的
1)、掌握图的概念、图的两种存储结构(邻接矩阵和邻接表)的存储思想及其存储实现;
2)、掌握上机实现图的基本方法;
3)、掌握有关图的操作并用高级语言编程实现;
4)、熟练掌握图的深度、广度优先遍历算法思想及其程序实现;
5)、掌握图的常见应用算法的思想及其程序实现。
实践要求
1)、掌握本章实践的算法;
2)、上机运行本章的程序,保存和打印出程序的运行结果,并结合程序进行分析;
3)、按照你对图的操作需要,重新改写程序并运行,打印出文件清单和运行结果;
4)、注意理解各算法实现时所采用的存储结构;
5)、注意正、逆邻接表。
系统简介及设计思路
本项目是对公交车路线信息的简单模拟,以完成建立公交路线信息、修改公交路线信息和删除公交路线信息等功能。
本项目的实质是完成对公交路线信息的建立、查找、插入、修改、删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。
公交站点之间的关系可以是任意的,任意两个站点之间都可能相关。而在图形结构中,结点之间的关系可以是任意的,图中任意两个数据之间都可能相关。所以可以用图形结构来表示n个公交站点之间及站点之间可能设置的公交路线,其中网的顶点表示公交站点,边表示两个站点之间的路线,赋予边的权值表示相应的距离。因为公交路线是有一定的连续关系的,如果想输出从某一个起始点开始到某一终点结束的公交路线,就需要找到从某一点开始的第一个邻接点和下一个邻接点。因为在邻接表中容易找到任一顶点的第一个邻接点和下一个邻接点,所以本项目使用了图的邻接表存储结构。
程序设计流程
为了创建公交路线,首先建立结构体载入公交车的相关信息:名称、司机、起始站、终点站、站数以及距离。利用邻接表把站点与站点之间的信息储存起来。用文件详细记载了路线信息,便于管理者初始化公交路线信息。再构造子函数来创建、及时修改、插入、删除公交信息、以及查询公交路线是否出错,各站点之间的距离。用主函数来调用子函数,进入导航系统而进行操作。
主函数(main)流程
导航查询(initial)流程
汽车查询(包含车号、站台查询)流程
修改路线(Modifyr)流程
修改汽车(modifyb)流程
删除汽车(delb)流程
5、运行环境
代码用C语言完成,布置在Microsoft visual C++ 6.0运行。Microsoft visual C++ 6.0具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。
输入如下公交线路信息
1路 津A10001 司机1 6:00 1—2—3—4—5
2路 津A10002 司机2 6:15 6—7—4—8—17—12
3路 津A10003 司机3 6:00 9—7—3—10—12
4路 津A10004 司机4 6:30 6—13—1—12—14—17
5路 津A10005 司机5 7:00 15—5—8—16—10—2—13
创建示意图(1路)
创建结束选择N回到主菜单,再选择A(导航查询)
主菜单下选择B(公汽查询)就可以查询已有的公交信息,查询方式有公汽号查询、站台查询两种查询方式
我们以公汽号查询(查询 津A10001)为例:
返回到主菜单,选择D进入系统管理
我们以修改路线为例(修改 津A10001)
最后在主菜单下选择E(清空数据)
最后选择F即可退出程序。
得意与不足之处:
1、得意之处:
1)、可以根据题目需要翻阅图书馆资料自学C++程序,完成代码。
2)、完成过程中思路清晰,可以根据实际分析设计、编调试,应用软件的分析方法和工程设计方法。
够按要求编写课程设计报告书,能正确阐述设计和实验结果
不足之处:
1)、程序太过繁琐,采用了一些不常用的语句
2)、不能简易地查询任意两站之间的距离
3)、不能查询任意的站点,只能查询起点和终点
4)、不能任意输入两个站点,给出最优的乘车路线
自我感受:
课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程
文档评论(0)