数据结构 公交路线管理模拟系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》课程设计报告

一、课程设计名称

公交线路管理模拟系统

二、实用工具软件

Microsoft visual C++ 6.0

三、课程设计内容简介

1、实践目的

1)、掌握图的概念、图的两种存储结构(邻接矩阵和邻接表)的存储思想及其存储实现;

2)、掌握上机实现图的基本方法;

3)、掌握有关图的操作并用高级语言编程实现;

4)、熟练掌握图的深度、广度优先遍历算法思想及其程序实现;

5)、掌握图的常见应用算法的思想及其程序实现。

2、实践要求

1)、掌握本章实践的算法;

2)、上机运行本章的程序,保存和打印出程序的运行结果,并结合程序进行分析;

3)、按照你对图的操作需要,重新改写程序并运行,打印出文件清单和运行结果;

4)、注意理解各算法实现时所采用的存储结构;

5)、注意正、逆邻接表。

3、系统简介及设计思路

本项目是对公交车路线信息的简单模拟,以完成建立公交路线信息、修改公交路

线信息和删除公交路线信息等功能。

本项目的实质是完成对公交路线信息的建立、查找、插入、修改、删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。

公交站点之间的关系可以是任意的,任意两个站点之间都可能相关。而在图形结构中,结点之间的关系可以是任意的,图中任意两个数据之间都可能相关。所以可以用图形结构来表示n个公交站点之间及站点之间可能设置的公交路线,其中网的顶点表示公交站点,边表示两个站点之间的路线,赋予边的权值表示相应的距离。因为公交路线是有一定的连续关系的,如果想输出从某一个起始点开始到某一终点结束的公交路线,就需要找到从某一点开始的第一个邻接点和下一个邻接点。因为在邻接表中容易找到任一顶点的第一个邻接点和下一个邻接点,所以本项目使用了图的邻接表存储结构。

4、程序设计流程

为了创建公交路线,首先建立结构体载入公交车的相关信息:名称、司机、起始站、终点站、站数以及距离。利用邻接表把站点与站点之间的信息储存起来。用文件详细记载了路线信息,便于管理者初始化公交路线信息。再构造子函数来创建、及时修改、插入、删除公交信息、以及查询公交路线是否出错,各站点之间的距离。用主函数来调用子函数,进入导航系统而进行操作。

主函数(main)流程导航查询(initial)流程

汽车查询(包含车号、站台查询)流程新建(newb)流程

修改路线(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

12

1

14

13 6

2 7

3

4 10

17

16

15 5

8

9

创建示意图(1路)

创建结束选择N回到主菜单,再选择A(导航查询)

主菜单下选择B(公汽查询)就可以查询已有的公交信息,查询方式有公汽号查询、站台查询两种查询方式

我们以公汽号查询(查询津A10001)为例:返回到主菜单,选择D进入系统管理

我们以修改路线为例(修改津A10001)

最后在主菜单下选择E(清空数据)

最后选择F即可退出程序。

四、得意与不足之处:

1、得意之处:

1)、可以根据题目需要翻阅图书馆资料自学C++程序,完成代码。

2)、完成过程中思路清晰,可以根据实际进行分析设计、编程调试,能够熟练应用软件的分析方法和工程设计方法。

3)、够按要求编写课程设计报告书,能正确阐述设计和实验结果便于管理者自由创建公交车的相关信息

2、不足之处:

1)、程序太过繁琐,采用了一些不常用的语句

2)、不能简易地查询任意两站之间的距离

3)、不能查询任意的站点,只能查询起点和终点

4)、不能任意输入两个站点,给出最优的乘车路线

五、自我感受:

课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良

好的基础。

在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程设计顺利的进行下去,另外,在程序调试过程中,也得到很多同学的帮助,给我及时指出错误,提出许多宝贵意见。在此对老师和同学们表示感谢!

八、参考文献:

《数据结构实践训练教程》刘光然主编南开大学出版社

《数据结构》严蔚敏主编清华大学出版社

《C语言程序设计》谭浩强主编清华大学出版社

相关文档
最新文档