篇一:中国道路交通网络信息查询系统
中国道路交通网络信息查询系统
【问题描述】
出于不同的目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。 【系统要求】
(1) 提供对城市信息进行编辑(如:添加或删除)的功能。
(2) 城市之间有两种交通工具:火车和飞机。提供对列车时刻
表和飞机航班进行编辑(增设或删除)的功能。 (3) 提供两种最优决策:最快到达或最省钱到达。全程只考虑
一种交通工具; (4) 旅途中耗费的总时间应该包括中转站的等候时间; (5) 咨询以用户和计算机的对话方式进行。由用户输入起始站、
终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。 【程序结构图】
【算法分析】
1.新建数据
void creat_data1() //新建数据 {
int i;
printf("请输入添加火车个数: ");scanf("%d",&t);for(i=1;i<=t;i++) {
printf("请输入添加火车列次: "); scanf("%s",hc[i].hnum); printf("\n");
printf("\n请输入始站:");
scanf("%s",hc[i].kname); printf("\n");printf("请输入终站:");
scanf("%s",hc[i].dname); printf("\n");
printf("请输入开车时间:");
scanf("%s",hc[i].ktime); printf("\n");printf("请输入到站时间:");
scanf("%s",hc[i].dtime); printf("\n");printf("请输入经历时间:");
scanf("%s",hc[i].ltime); printf("\n"); } print(); }
2.添加数据 void add1() //添加数据 {
char ch; do {
printf("请输入添加火车列次: ");
scanf("%s",hc[t+1].hnum); printf("\n");
printf("\n请输入始站:");
scanf("%s",hc[t+1].kname); printf("\n");printf("请输入终站:");
scanf("%s",hc[t+1].dname); printf("\n");
printf("请输入开车时间:");
scanf("%s",hc[t+1].ktime); printf("\n");printf("请输入到站时间:");
scanf("%s",hc[t+1].dtime); printf("\n");printf("请输入经历时间:");
scanf("%s",hc[t+1].ltime); printf("\n");t++;
printf("是否继续添加y/n:");getchar();ch=getchar();printf("\n"); }while(ch=='y'); print();
} 3.删除数据
void delet1()//删除数据 {
char num1[10]; int i,j,count=0;
printf("输入想要删除的火车列次"); scanf("%s",num1); for (i=1;i<=t;i++)
if(strcmp(num1,hc[i].hnum)==0) {
for(j=i;j<t+1;j++) hc[j]=hc[j+1]; count++; t--; }
if(count==0) printf("没有列车信息!"); else print();
}
4.迪杰斯特拉算法
void ShortwstPath(int num) /*迪杰斯特拉算法最短路径函数*/ {
int v,w,i,t;int final[25];
int min;
for(v=0;v<25;++v)/*初始化*/{
final[v]=0; /*标志数组初始化*/D[v]=G.arcs[num][v].adj;
for(w=0;w<25;++w) P[v][w]=0;/*设空路径*/
if(D[v]<20000)/*v,v0间有边存在*/ {
P[v][num]=1;
P[v][v]=1;/*到v的最短路径上包含v0及v*/}/*if*/ } D[num]=0;
final[num]=1;/*初始化,v0顶点属于B集*/
/*开始主循环,每次求得v0到某个v顶点的最短路径,并加v到B集*/ for(i=0;i<25;++i)/*其余G.vexnum-1各顶点*/ {
min=20000; for(w=0;w<25;++w)
if(!final[w])/*w顶点在V-S中*/
if(D[w]<min){v=w;min=D[w];}/*w顶点离v0更近*/ final[v]=1;/*离v0顶点最近的v加入B*/
for(w=0;w<25;++w)/*更新当前最短路径及距离*/ {
D[w]=min+G.arcs[v][w].adj;/*修改D和P数组*/ for(t=0;t<25;t++)
P[w][t]=P[v][t];P[w][w]=1; }/*if*/ }/*for*/ }
if(!final[w]&&((min+G.arcs[v][w].adj)<D[w]))
【程序测试】
建立如下图所示的全国交通图:
0.哈尔滨 1.长春 2.沈阳3.大连 4.天津 5.北京 6.徐州 7.呼和浩特 8.兰州9.乌鲁木齐 10.西宁 11.西安 12.郑州 13.上海 14.南昌 15.福州 16.株洲 17.武汉
18.广州 19.深圳 20.柳州 21.贵阳 22.南宁 23.成都 24.昆明
测试结果截图:
篇二:2013年度道路运输车辆燃油消耗台账
2013年度道路运输车辆燃油消耗台账
企业名称:
注:数据来源指:1、里程表;2、财务账目;3、加油票据;4、调度单。
篇三:道路运输车辆燃料消耗量达标车型核查表
道路运输车辆燃料消耗量达标车型核查表
《中国道路燃油消耗网》
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/show/138095.html
转载请保留,谢谢!
- 上一篇:幼儿园托班读书笔记
- 下一篇:国庆节超市广播稿