基于C语言的交通咨询系统

magipige

发布日期: 2019-01-31 17:19:38 浏览量: 3454
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

1 题目介绍

1.1 问题描述

出于不同目的的旅客对交通工具和交通路径有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个交通咨询系统程序,为旅客提供最优决策的交通咨询。

1.2 需求分析

  • 提供对城市信息进行编辑的功能,包括交通信息的增加,删除,修改。

  • 城市之间有两种交通工具:火车和飞机。

  • 提供两种最优决策 : 最快到达或最省钱到达。全程只考虑一种交通工具。

  • 咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具 , 输出信息 : 最快需要多长时间才能到达或者最少需要多少旅费才能到达。

2 系统功能分析

2.1 概要分析

交通咨询系统包括交通信息的查询,交通信息的增加与修改,最省时间与最省钱的路线的生成。

2.2 功能结构分析

为了实现交通咨询系统的作用,系统包含功能如图所示。

3 数据结构设计

3.1 抽象数据类型定义

  1. typedef struct unDiGraph
  2. {
  3. int numVerts; //结点
  4. costAdj cost; //邻接矩阵
  5. }unDiGraph,*UNG;

基本操作:

  1. unDiGraph* CreateCostG()

操作结果:构造带权(费用)图。

  1. unDiGraph* CreateTimeG()

操作结果:构造带权(时间)图。
构造飞机带权(费用)图。

  1. PathMat *Floyed(unDiGraph *D)

操作结果:Floyed函数 求任意两点的最短路径。

3.2 预存数据结构

为了便于系统测试使用,在系统初始化时便存入了预留的数据。

3.2.1 预存城市信息及编号

1.成都

2.兰州

3.石家庄

4.郑州

5.武汉

6.贵阳

3.2.2预存交通信息

成都与郑州之间的火车行程的时间为2,费用为4。
成都与兰州之间的火车行程的时间为3,费用为5。
成都与武汉之间的火车行程的时间为1,费用为3。
武汉与郑州之间的火车行程的时间为1,费用为2。
兰州与武汉之间的火车行程的时间为3,费用为6。
兰州与石家庄之间的火车行程的时间为1,费用为3。
武汉与贵阳之间的火车行程的时间为5,费用为2。
贵阳与石家庄之间的火车行程的时间为2,费用为4。
贵阳与兰州之间的火车行程的时间为4,费用为1。

成都与武汉之间的飞机行程的时间为3,费用为3。
成都与兰州之间的飞机行程的时间为1,费用为1。
兰州与石家庄之间的飞机行程的时间为2,费用为5。
兰州与贵阳之间的飞机行程的时间为4,费用为2。
石家庄与贵阳之间的飞机行程的时间为3,费用为1。
武汉与贵阳之间的飞机行程的时间为2,费用为3。
武汉与石家庄之间的飞机行程的时间为3,费用为4。

4 功能模块设计

实现全国交通咨询模拟系统的开发,采用图结构类型存储城市的信息。其中,各城市间的邻接关系用图的邻接矩阵类型存储;城市信息用结构体数组存储,其中每个数组元素是一个结构体变量,包含时间和费用三个分量;图的顶点的个数和边的个数由变量费用、时间大小表示,它们是整型数据。

4.1 主要功能模块设计

全国交通咨询模拟系统由4个功能模块组成:添加城市、删除程序、采用火车出行、采用飞机出行
下面给出功能模块图,如图所示。

4.2 主要函数调用关系图

ADT内基本操作函数之间的函数调用关系图,如图所示。

4.3 费洛伊德算法求最小路径

  • 初始化:D[u,v]=A[u,v]

  • For k:=1 to n
    For i:=1 to n
    For j:=1 to n
    If D[i,j]>D[i,k]+D[k,j] Then
    D[i,j]:=D[i,k]+D[k,j];

  • 算法结束:D即为所有点对的最短路径矩阵

5 调试与运行结果

5.1 主界面设计

为了实现全国交通咨询模拟系统,需要设计一个含有多菜单项的主控菜单子程序,以链接系统中各个子项目的调用,为了方便用户使用本系统,本系统主控菜单的运行界面如图所示。

5.2 运行结果及分析

交通资讯系统调试成功后在本地运行结果如下:

  • 查看城市

  • 选择最短时间路线的两种方式

  • 选择以火车的方式出行

  • 坐火车从石家庄到贵阳的最短时间路线与所花费的金额

  • 从成都到贵阳的最少花费与时间

  • 管理员程序

  • 增添新城市 沧州

  • 增添石家庄到沧州的火车费用

  • 增添石家庄到沧州的火车时间

  • 坐火车从石家庄到沧州的最短时间

上传的附件 cloud_download 交通咨询系统的实现.zip ( 629.98kb, 801次下载 )
error_outline 下载需要8点积分

keyboard_arrow_left上一篇 : 基于QT实现的酒店预订与管理系统 8种排序算法的比较案例 : 下一篇keyboard_arrow_right



magipige
2019-01-31 17:19:19
数据结构的课设~~
teardrop
2019-01-31 17:36:25
不错啊,谢谢分享
弄不成
2019-12-15 12:12:29
真的太棒了,救我一命,very good!

发送私信

生活不会因为你是女孩子就善待你

11
文章数
15
评论数
最近文章
eject