课程设计报告(航班)_第1页
课程设计报告(航班)_第2页
课程设计报告(航班)_第3页
课程设计报告(航班)_第4页
课程设计报告(航班)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 兰州商学院陇桥学院兰州商学院陇桥学院 工学系课程设计报告工学系课程设计报告设设 计计 题题 目:目:航班信息的查询系统航班信息的查询系统 系系 别:别: 专专 业业 ( (方方 向向) ): 年年 级、级、 班:班: 学学 生生 姓姓 名:名: 学学 生生 学学 号:号: 指指 导导 教教 师:师: 2013 年年 12 月月 23 日日1目录目录一、系统的开发背景1二、系统分析与设计 21、按航班号查询 22、按起点站查询 .33、按终点站查询 .34、按起飞时间查询 .35、按到达时间查询 .36、输出所有航班信息 .4三、系统的设计与实现 .4(一)按航班号查询:BINSEARCH()

2、 .4(二)按起点站查询:CHAZHAOQD() .5(三)按终点站查询:CHAZHAOZD() .5(四)按起飞时间查询:CHAZHAOQFSJ() .6(五)按到达时间查询:CHAZHAODDSJ() .7(六)输出所有航班信息:FOR().8四、系统测试 .9(一)测试VOID MAIN()函数 .9(二)测试 BINSEARCH()函数 .10(三)测试CHAZHAOQD()函数 .11(四)测试CHAZHAOZD()函数 .11(五)测试CHAZHAOQFSJ()函数 .11(六)测试CHAZHAODDSJ()函数 .11(七)测试FOR()函数 .12五、总结 .12六、附件(代码

3、、部分图表) .132航班信息查询系统航班信息查询系统一、一、系统开发的系统开发的背景背景为了该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。因此开发了该系统二、系统分析与设计二、系统分析与设计(一)(一) 系统功能要求系统功能要求对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因此他们用得较少。每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等,假设航班信息表

4、。(二)(二) 系统模块结构设计系统模块结构设计通过对系统功能的分析,航班信息查询系统功能如图 1 所示。3图 1 航班信息查询系统功能图通过上图的功能分析,把整个系统划分为 6 个模块:1、按航班号查询,该模块主要实现:飞机航班号的查询,通过飞机的航班号即可查询到航班信息,通过函数 BinSearch()实现。2、按起点站查询,该模块主要实现:飞机起点站的查询,通过飞机的起点站即可查询到航班信息,通过函数 chazhaoQD()实现。3、按终点站查询,该模块主要实现:飞机终点站的查询,通过飞机的终点站即可查询到航班信息,通过函数 chazhaoZD()实现。4、按起飞时间查询,该模块主要实现

5、:飞机起飞时间的查询,通过飞机的起飞时间即可查询到航班信息,通过函数 chazhaoQFSJ()实现。5、按到达时间查询,该模块主要实现:飞机到达时间的查询,通过4飞机的到达时间即可查询到航班信息,通过函数 chazhaoDDSJ()实现。6、输出所有航班信息,该模块主要实现:将所有的航班信息输出,通过 for 循环函数实现。三、系统的设计三、系统的设计与实现与实现(一)(一) 按航班号查询:按航班号查询:BinSearchBinSearch()()分析:首先输出表头,然后依次输出航班的基本信息。流程图如图 2所示。图 2:BinSearch()流程图该模块的具体代码如下所示。int BinS

6、earch(KeyType key)/*二分法查找*/ int low=0,high,mid; high=MaxSpace-1; while(low=high) mid=(low+high)/2; if(strcmp(key,s1mid.keys)=0) return mid; else if(strcmp(key,s1mid.keys)0) high=mid-1; else low=mid+1;5 (二)按起点站查询:(二)按起点站查询:chazhaoQD()chazhaoQD()图 3:chazhaoQD()流程图该模块的具体代码如下所示。int chazhaoQD()/*起点站查询*/i

7、nt i;char qd6;printf(输入要查询的航班起点站名:); scanf(%s,qd); for(i=0;i=9) printf(您输入的起点站不存在!n); (三)按终点站查询:(三)按终点站查询:chazhaoZD()chazhaoZD()6图 4:chazhaoZD()流程图该模块的具体代码如下所示。int chazhaoZD()/*终点站查询*/int i;char zd6;printf(输入要查询的航班终点站名:); scanf(%s,zd); for(i=0;i=9) printf(您输入的航班终点站名不存在!n);(三)(三) 按起飞时间查询:按起飞时间查询:chaz

8、haoQFSJ()chazhaoQFSJ()7图 5:chazhaoQFSJ()流程图该模块的具体代码如下所示。int chazhaoQFSJ()/*航班起飞时间查询*/int i;char qfsj6;printf(输入要查询的航班起飞时间:); scanf(%s,qfsj); for(i=0;i=9) printf(您输入的航班起飞时间不存在!n);(五)按到达时间查询:(五)按到达时间查询:chazhaoDDSJ()chazhaoDDSJ()8图 6:chazhaoDDSJ()流程图该模块的具体代码如下所示。int chazhaoDDSJ()/*航班到达时间查询*/int i;char

9、ddsj6;printf(输入要查询的航班到达时间:); scanf(%s,ddsj); for(i=0;i=9) printf(您输入的航班到达时间不存在!n);(六)输出所有航班信息:(六)输出所有航班信息:for()for()9图 7:for()流程图该模块的具体代码如下所示。for(i=0;i8;i+)printf(%st%st%st %s t %s t%s t%st%dtn,s1i.keys,s1i.QD,s1i.ZD,s1i.BQ,s1i.QFSJ,s1i.DDSJ,s1i.JX,s1i.PJ);四、系统测试四、系统测试(一)测试(一)测试 voidvoid main()main(

10、)函数函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。10图 8 主菜单界面(二)(二)测试测试 BinSearchBinSearch()函数()函数图 9 航班号查找界面11(三)测试(三)测试 chazhaoQD()chazhaoQD()函数函数图 10 航班起点站查找界面(四)测试(四)测试 chazhaoZD()chazhaoZD()函数函数图 11 航班终点站查找界面(五)测试(五)测试 chazhaoQFSJ()chazhaoQFSJ()函数函数图 12 航班起飞时间查找界面(六)测试(六)测试 chazhaoDDSJ()chazhaoDDSJ()函数函数

11、图 13 航班到达时间查找界面12(七)测试(七)测试 for()for()函数函数图 14 所有航班输出界面五、总结五、总结系统完成了对飞机航班号的查询、飞机起点站的查询、飞机终点站的查询、飞机起飞时间的查询、飞机到达时间的查询以及输出所有飞机航班信息功能。系统在本次试验中,遇到了很多的问题。首先,按照书上的代码输入后,有很多错误,发现里面的代码有定义不对、主函数里调用函数不对、数组没有正确定义大小等问题,经过修改解决了这些问题。其次,就是在输入时遇到了输入不当得问题,输入航班号时没有注意大小写,修改输入方法后得到了修改。最后,便是对二分查找法的理解不是很透彻,对算法的具体实现了解不深。刚开

12、始编写程序时无从下手,将课本上的程序代码13输入后却无法执行,最终经过老师的修改,程序得以运行通过这次的课程设计,我的收获真的很大,程序大部分都是自己从书上查找代码输入,通过老师对我程序的修改,在老师修改我程序的过程中,明白了好多我以前都没有注意到的问题,而对这些问题也有了一定的了解,通过老师的讲解,我也弄懂了程序的问题所在,解决了问题,使得程序得以运行。在下来以后,我又对二分查找算法和顺序查找算法读了几次,对算法的理解有了一定的理解,对整个系统运行有了全面的了解。对程序的整体构造有了全面的认识。六、附件(代码、部分图表)六、附件(代码、部分图表)#include#include#includ

13、e#define MaxSpace 8#define keylen 6typedefchar KeyType;typedefstruct char *keys;char *QD;char *ZD;char *BQ;char *QFSJ;char *DDSJ;char *JX;int PJ;info;info s1MaxSpace=CA1544,合肥,北京,1.2.4.5,10:55,12:00,733,960,MU5341,上海,广州, 每日, t14:20, t16:15,M90, 1280,CZ3869,重庆,深圳,2.4.6,08:55,10:35,733,1010,MU3682,桂林,

14、南京,2.3.4.6.7,20:50,22:15,M90,1380,HU1836,上海,北京,每日,t09:40,t11:20,738,1250,CZ3528,成都,厦门,1.3.4.5.7,15:10,16:50,CRJ,1060,MU4594,昆明,西安,1.3.5.6,10:15,11:40,328,1160,14SC7425,青岛,海口,1.3.6,19:20,21:20,DH4,1630, ; void hangban() int i; for(i=0;i8;i+) printf(%st%st%st %s t %s t%s t%st%dtn,s1i.keys,s1i.QD,s1i.Z

15、D,s1i.BQ,s1i.QFSJ,s1i.DDSJ,s1i.JX,s1i.PJ);int BinSearch(KeyType key)/*二分法查找*/ int low=0,high,mid; high=MaxSpace-1; while(low=high) mid=(low+high)/2; if(strcmp(key,s1mid.keys)=0) return mid; else if(strcmp(key,s1mid.keys)0) high=mid-1; else low=mid+1; int chazhaoQD()/*起点站查询*/int i;char qd8;printf(输入要

16、查询的航班起点站名:); scanf(%s,qd); for(i=0;i=9) printf(您输入的起点站不存在!n); 15int chazhaoZD()/*终点站查询*/int i;char zd8;printf(输入要查询的航班终点站名:); scanf(%s,zd); for(i=0;i=9) printf(您输入的航班终点站名不存在!n);int chazhaoQFSJ()/*航班起飞时间查询*/int i;char qfsj8;printf(输入要查询的航班起飞时间:); scanf(%s,qfsj); for(i=0;i=9) printf(您输入的航班起飞时间不存在!n);i

17、nt chazhaoDDSJ()/*航班到达时间查询*/int i;16char ddsj8;printf(输入要查询的航班到达时间:); scanf(%s,ddsj); for(i=0;i=9) printf(您输入的航班到达时间不存在!n);void main()/*主函数*/ int i=1,k;printf(航班号:起点站: 终点站: 班期: 起飞时间: 到达时间: 机型: 票价:nn); hangban();while(i!=0) KeyType keykeylen; printf(t*n); printf(t*航班信息查询系统*n); printf(t*n); printf(t*

18、1. 航班号 *n); printf(t* 2. 起点站 *n); printf(t* 3. 终点站 *n); printf(t* 4. 起飞时间 *n); printf(t* 5. 到达时间 *n); printf(t* 6. 显示所有航班信息 *n); printf(t* 0. 退出系统 *n); printf(t*n); printf(t*n); printf(t* 请选择(0-6) *n); scanf(%d,&i); if(i=1) printf(输入要查询的航班号(区分大小写):); scanf(%s,&key);17 k=BinSearch(key); printf(航班号:起点站: 终点站: 班期: 起飞时间: 到达时间: 机型: 票价:nn); printf(%st%st%st %s t %s t%s t%st%dtn,s1k.keys,s1k.QD,s1k.ZD,s1k.BQ,s1k.QFSJ,s1k.DDSJ,s1k.JX,s1k.PJ); else if(i=2) cha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论