《数 据 结 构》课 程 设 计 报 告
一、课程设计名称
公交线路管理模拟系统
二、实用工具软件
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
具有集成开发环境,可提供编辑 C 语言,C++以及 C++/CLI 等编程语言。整合了便利的除
错工具 ,特别是 整合了微 软视窗程式 设计(Windows API)、三维 动画 DirectX API,
Microsoft .NET 框架。
visual C++ 6.0 运行。Microsoft
输入如下公交线路信息
1
13
6
2
7
9
12
10
3
14
16
17
4
8
15
5
1 路 津 A10001 司机 1
2 路 津 A10002 司机 2
3 路 津 A10003 司机 3
4 路 津 A10004 司机 4
5 路 津 A10005 司机 5
6:00
6:15
6:00
6:30
7:00
1—>2—>3—>4—>5
6—>7—>4—>8—>17—>12
9—>7—>3—>10—>12
6—>13—>1—>12—>14—>17
15—>5—>8—>16—>10—>2—>13
创建示意图(1 路)
创建结束选择 N 回到主菜单,再选择 A(导航查询)
主菜单下选择 B(公汽查询)就可以查询已有的公交信息,查询方式有公汽号查询、站
台查询两种查询方式