教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

全国交通咨询模拟数据结构课程设计(2)

来源:网络收集 时间:2026-09-07
导读: 操作结果:对图进行广度优先遍历。在遍历过程中对每个顶点调用函 数Visit一次且仅一次。一旦visit()失败,则操作失败。 }ADT Graph 其他的抽象数据类型定义如下: typedef struct {int number; float expenditure;

操作结果:对图进行广度优先遍历。在遍历过程中对每个顶点调用函

数Visit一次且仅一次。一旦visit()失败,则操作失败。

}ADT Graph

其他的抽象数据类型定义如下:

typedef struct {int number;

float expenditure; int begintime[2]; int arrivetime[2]; }Vehide; typedef struct

{Vehide stata[MAX_ROUTE_NUM]; int last; }infolist;

typedef struct ArcNode {int adjvex;

struct ArcNode *nextarc; infolist info;

全国交通咨询模拟数据结构课程设计

}ArcNode;

typedef struct VNode {char cityname[10];

ArcNode *planefirstarc,*trainfirstarc; }VNode,AdjList[MAX_VERTEX_NUM]; typedef struct {AdjList vertices;

int vexnum,planearcnum,trainarcnum; }ALGraph;

typedef struct Node {int adjvex; int route;

struct Node *next; }Node;

typedef struct QNode {int adjvex;

struct QNode *next; }QNode; typedef struct {QNode *front; QNode *rear; }LinkQueue;

typedef struct TimeNode {int adjvex; int route;

int begintime[2]; int arrivetime[2];

struct TimeNode *child[MAX_ROUTE_NUM]; }TimeNode,*TimeTree; struct arc {int co;

char vt[10]; char vh[10]; int bt[2]; int at[2]; float mo;

}a[MAX_ARC_SIZE];

基本操作:

void Administer(ALGraph *G); void cityedit(ALGraph *G);

void CopyTimeTree(TimeTree p,TimeTree q); void createcityfile();

void CreateGraph(ALGraph *G); void createplanefile();

全国交通咨询模拟数据结构课程设计

void CreateTimeTree(TimeTree p,int i,int j,LinkQueue *Q,infolist (*arcs)[MAX_VERTEX_NUM]); void createtrainfile();

int DeleteplaneArc(ALGraph *G);

void DeleteQueue(LinkQueue *Q,int *x); int DeletetrainArc(ALGraph *G); void DeleteVertex(ALGraph *G);

void DemandDispose(int n,ALGraph G); void DestoryTimeTree(TimeTree p); void EnterplaneArc(ALGraph *G); void EnterQueue(LinkQueue *Q,int x); void EntertrainArc(ALGraph *G); void EnterVertex(ALGraph *G);

void ExpenditureDispose(int k,infolist (*arcs)[MAX_VERTEX_NUM],ALGraph G,int v0,int v1,float *M,int *final);

void flightedit(ALGraph *G); void initgraph(ALGraph *G); void InitQueue(LinkQueue *Q); int IsEmpty(LinkQueue *Q);

int LocateVertex(ALGraph *G,char *v);

void MinExpenditure(infolist arcs,float *expenditure,int *route); void MinTime(infolist arcs,int *time,int *route); void PrintGraph(ALGraph *G); int save(ALGraph *G);

void TimeDispose(int k,infolist (*arcs)[MAX_VERTEX_NUM],ALGraph G,int v0,int v1,int (*T)[2],int *final);

void TimeTreeDispose(Node *head,infolist (*arcs)[MAX_VERTEX_NUM]); void trainedit(ALGraph *G);

void TransferDispose(int k,infolist (*arcs)[MAX_VERTEX_NUM],ALGraph G,int v0,int v1); void UserDemand(ALGraph G); void VisitTimeTree(TimeTree p);

主程序的流程以及各程序模块之间的调用关系

全国交通咨询模拟数据结构课程设计

管理员管理 Administer

初始化交通系 统 initgraph

城市编辑 cityedit

飞机航班编辑 Administer

列车车次编辑 Administer

返回上一 级菜单

用户咨询 UserDemand

最少旅行费用 ExpenditureDispos e UserDemand

最少旅行时间 TimeDispose

最少中转次数 TransferDispos e

返回上一 级菜单

显示交通系统 PrintGraph

显示城市

显示飞机航班

显示列车车次

返回上一级菜单

初始化交通系 统 initgraph

键盘-8-

文档

全国交通咨询模拟数据结构课程设计

三.详细设计

1.主程序伪代码

int main() {

界面初始化; 输入操作命令; While(“命令” != “退出”) {

接受命令(用户输入要实现功能); 进入各个处理命令函数;

} }

2. 函数和过程的调用关系图

全国交通咨询模拟数据结构课程设计

Main()

UserDemand

InitQueue EnterQueue DeleteQueue TimeTreeDispose CreateTimeTree CopyTimeTree

VisitTimeTree DestoryTimeTree

- 10 -

全国交通咨询模拟数据结构课程设计

四.调试分析:

⑴ 调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析: 在调试的过程中碰到了一下问题: a. 引用形参应用不当;

b. 文件操作中遇到读入错误或找不到文件; 解决方案:

a. 对引用形参了解的不是很透彻,导致错误,通过查阅相关书籍如《C++ Primer》和请教编程能力较高的人,最终解决问题。

b. 通过参考谭浩强编著的《C程序设计》中的文件操作,文件格式和相关文件路径的设置,最终解决问题。

⑵ 算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分

全国交通咨询模拟数据结构课程设计

: 通过本次课程设计,我学到了一种程序设计方法,就是结构化程序设计方法,在程序设计过程中,我尝试按如下方法进行结构化程序设计:

(1)自顶向下;(2)逐步细化;(3)模块化设计(4)结构化编码。这种设计方法的过程是将问题求解由抽象逐步具体化的过程,而且,用这种方法便于验证算法的正确性。

本次课程设计所使用的是较为复杂的抽象数据类型——图,而且在弧的基础上增加了许多信息,如添加了时间,费用等等,这无疑给编程加大了难度,同时也是相当的具有挑战性。

在编程的过程中,我用到了全局数组,我将数组放在工程的头文件里面,编译的时候报错,说是多重定义。最终放弃了创建工程,而选择了单个文件进行编译和运行,结果顺利通过。

同时,在文件操作方面我也曾遇到问题,就是在程序对文件进行读取的时候报错,无法读取文件,最后查询有关C的工具书,原来是文件路径问题,借助工具书最终解决了文件操作方面的问题。

总之,这次课程设计是对这一个学期以来对数据结构学习成果的一个验证,同时也是理论与实践很好的结合,既对学过的数据结构进行了巩固,也对我的编程能力奠定了坚实的基础。

五.用户使用说明:

1) 打开并运行程序,按任意键进入操作主界面,按提示进行相关操作;

2) 按“1”进入管理员界面,按“2”进入用户咨询界面,按“3”显示交通系

统,按“4”则退出。

3) 进入管理员界面可键入“1”初始化交通系统,并选择文档初始化方式(如果

是第一次使用该系统建议使用文档初始化交通系统,免得自己进行繁冗的初始化操作)。其余可按提示进行相关操作,不难掌握。

4) 进入用户咨询界面,可根据用户需要进行相关的选择,或是选择“1”(最少

旅行费用);或是选择“2”(最少旅行时间),又或者是选择“3”(最少旅行中转次数)等。

…… 此处隐藏:4178字,全部文档内容请下载后查看。喜欢就下载吧 ……

全国交通咨询模拟数据结构课程设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/131515.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)