全国交通咨询模拟系统设计.doc
文本预览下载声明
全国交通咨询模拟系统设计
一 目的
利用《数据结构》课程的相关知识完成一个具有一定难度的综合设计题目,利用C/C++语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。
具体要求如下:
对现实复杂问题中的数据对象特性及组织方法进行分析和研究,设计适当的数据逻辑结构、存贮结构以及相应运算操作,把现实世界问题建模转化为计算机内部表示并进行处理。
采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。学生也可根据自己对题目的理解增加新的功能模块(视情况可另外加分)。
系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行,利用文件进行数据的提取与存储。
程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)。
编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等);
写出规范的课程设计报告,具体要求见相关说明文档。
二 需求分析
题目要求
处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序为旅客提供两种或三种最优决策的交通咨询。
2、题目分析
(1)对全国城市交通图和班车时刻表及飞机航班表的编辑,应该提供文件形式输入和键盘输入两种方式。飞机航班表的信息应包括:起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,例如:对于从北京到上海的火车,需给出北京至天津、天津至徐州及徐州至各段的出发时间、到达时间和票价信息。
(2)以邻接表作交通图的存储结构,表示边的结点内除含有邻接点的信息外,包括交通工具、路程中消耗的时间和花费以及出发和到达的时间等多项属性。
3、实现的基本功能
以人机对话形式进行,当用户选择某菜单即可进入该菜单选项
三 概要设计
主程序模块
int main(){
打开文件;
使用for循环体语句重复显示主菜单;
调用函数system(cls)实现清屏;
用switch语句实现主菜单;
根据用户的选择输出相应的结果;
退出系统;
分模块
typedef struct ArcCell//定义两城市之间路的结构
typedef struct train//定义火车的结构体
typedef struct plane//定义一个飞机的结构体
typedef struct//定义一个城市的结构体
typedef struct//定义交通图的结构
typedef struct//定义一个队列的结构体
int LocateVex()//定位函数
MGraph CreateUDN()//创建全国地区图的结构
void diaplaytime()//求俩个城市之间最短时间的函数
void displayspent()//求俩个城市之间最省钱路线的函数
void BFSTraverse()//定义一个广度优先搜索的函数
void output()//界面输出函数
void xiugaiskb()//修改时刻表的函数
四 详细设计
初始设定
#define INFINITY 100000//以该值表示两个城市之间无法到达
#define MAX_VERTEX_NUM 30//最多可定义30个城市
#define MAX 15//到某个城市最多的火车量
结构体定义
typedef struct train{//定义火车的结构体
string start;//始发站
string end;//终点站
string number;//车次
string type;//车型
string statime;//发车时间
string arrivetime;//到站时间
string alltime;//全程时间
float price;//车票价钱
}train,Train[MAX];
typedef struct plane{//定义一个飞机的结构体
string start;//始发站
string end;//终点站
string number;//航班
string statime;//起飞时间
string arrivetime;//到达时间
string alltime;//全程时间
fl
显示全部