交通咨询系统设计课程设计
课 程 设 计 报 告
课程名称 数据结构
课题名称 交通咨询系统
专 业
班 级
学 号
姓 名
指导教师
年 月 日
设计内容与设计要求
1设计内容
[问题描述]在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通费用,而且对里程和所需时间等问题也很感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到达另外一个城市顶点之间的最短路径(里程)的问题。
[基本]
1).根据实际情况,先建立交通网络图的存储结构。
).求某个城市到达其余各城市的最短路径。
).任一输入两个城市,要求求出他们之间的最短路径。
2设计要求:
目录
一、需求分析1
1.1.程序的功能1
1.2要求1
二、概要设计1
2.1 系统1
2.1各模块4
2.21 用邻接矩阵构造图结构函数CreateMGraph()4
2.22 费洛伊德Floyd()5
2.23狄克斯特拉Dijkstra()6
三、详细设计7
3.1各模块流程图及其函数调用7
3.11主要函数流程图:7
3.12 一个城市到其他城市的路径调用8
3.13 任意两个城市之间路径调用8
3.2各模块C类算法9
3.21 创建交通网络的邻接矩阵算法9
3.22查询某一城市至其他所有城市的最短路径算法9
3.23 查询任意两个城市之间路径的算法
四、11
五、…………………………………………………………………………………13
六、………………………………………………………………………………….14
七、附录
八、……………………………………………………………………………………20
一、需求分析
1.1.程序的功能
(1).用户自己可以建立不同的路径之间的关系网
(2).可以查询某个城市到达其余各城市的最短路径。
(3).可以任一查询两个城市之间的最短路径。
1.2输入输出的要求。
在刚进入主界面后系统提示输入建立交通网络储存结构,输入顶点个数和和边数为整数不能输入其他字符,随后系统提示输入边与边之间的关系分别为i,j,w表示边之间的距离。然后进入查询页面,输入整数1,2,0分别表示你所要查询的功能:一个城市至其他所有城市的最短路径查询、任意两个城市之间的最短路径查询、退出程序。不能输入其他字符否则不能执行操作。在整个操作都是用整数表示城市。二、概要设计
2.1 系统用邻接矩阵建立交通网络模块
查询任意两个顶点之间的最短路径
图弗洛伊德算法
查询一个城市到其他所有城市的最短路径
图:狄克斯特拉算法
整个函数流程模块
图:主程序
2.各模块2.21 用邻接矩阵构造图结构函数CreateMGraph()
其中vexs[MAX]保存顶点信息,arcs[MAX][MAX]用于保存边与边之间的信息。在构建时通过输入的边数i,j作为矩阵的行、列确定顶点的出度和入度。用邻接矩阵方法存储图,很容易确定图的任意两个顶点是否是有边相连,因此用邻接矩阵对有利于后面费洛伊德算法和狄克斯特拉算法。
数据类型定义:
typedef struct
{
VertexType vexs[MAX];
Adjmatrix arcs[MAX][MAX];
}MGraph;
邻接矩阵的程序代码:
for(k=1;k<=e;k++)
{
printf(" 第%d条边的信息:",k);
scanf("%d,%d
如果觉得《用c语言设计交通咨询系统 交通咨询系统设计课程设计.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!