}
4.系统调试
4.1系统调试中的问题
(1)只考虑函数而忽视数据库和标点:在存储文件时,没有
(2)控制程序功能,只能使用一次,导致整个程序无实际作用;对图的存储结构不太熟悉;没有初始化路径,致使出现了乱码;使用单个字符输入一个字符串,导致字符串输入异常;
5.运行结果
5.1输入界面
输入界面如图 5.1所示
图5.1 输入界面
11
5.2显示界面
显示界面如图5.2所示
图5.2 显示界面
5.3查询界面
查询一个城市到其余各城市最短路径界面如图5.3所示
图5.3查询一个城市到其余各城市最短路径界面
12
查询两城市之间最短路径界面如图5.4所示
图5.4查询两城市之间最短路径界面
5.4退出界面
退出界面如图5.5所示
图5.5退出界面
13
6.心得体会
这次的任务分配,从难度上来说,我这个交通资讯系统并不复杂,在书本上基本上能找到一摸一样的程序,但关键是理解。平时不听课,现在要把这些整体连接起来就跟困难,虽然书上的程序能看懂,但实践设计不比理解,要是练得少,往往捉襟见肘,要学会融会贯通,就是难上加难,所以我这次就不断演练,不断打击信心,结果程序不是自己的,有时候觉得计算机语言真的好难学,我想还是练少了,酱油打多了。尽管这学期课听了很多,但效果还是不好。
总的来说,这次编程还是学到了一些东西,尽管微乎其微,算法逼近是死的,但人的大脑是活的,只有不断地实践,才能找到信心,也才能学到东西,尽管这次编程是借鉴网络上的,但还是可以学到很多东西,怎样的思考方法,怎样连接是逻辑语句更加完善。所以在编程中和调试过程中要认真分析和善于发现问题并及时解决的习惯,不懂得及时问老师或其他同学通过本次实验,掌握了最短路径的问题,并结合图的存储结构,狄克斯特拉算法、弗洛伊德算法等解决交通资讯系统的设计问题,源程序打出来后有多处错误,大小写错误、符号错误、遗漏错误。
7.附录
7.1源代码
#include
14
int edges[MAXV][MAXV]; int n,e;
VertexType vxs[MAXV];
}MGraph;
void Ppath(int path[],int i,int v) { }
void Dispath(int dist[],int path[],int s[],int n,int v) { }
void Dijkstra(MGraph g,int v) { int dist[MAXV],path[MAXV];
int s[MAXV]; int mindis,i,j,u; int i;
for(i=0;i if(s[i]==1&&dist[i]!=INF) { int k; k=path[i]; if(k==v) return; Ppath(path,k,v); printf(\ printf(\从%d到%d的最短路径长度为:%d\\t路径为:\ } printf(\ Ppath(path,i,v); printf(\} else printf(\从%d到%d不存在路径\\n\ 15