版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 目目 录录一、系统开发的背景.1二、系统分析与设计.1(一)系统功能要求.1(二)系统模块结构设计.1三、系统的设计与实现.2(一)查询函数:.2(二)输入函数.6四、系统测试.7(一)测试MAIN()函数 .7(二)测试查询函数.11(三)测试输入函数.13五、总结.14六、附件(代码、部分图表).151航班查询系统航班查询系统一、一、系统开发的系统开发的背景背景随着信息产业的飞速发展,信息化管理及查询已经引入并应用到各行各业,影响着人们的价值观念与生活方式。因此,要提升企业竞争力,就要大力推进企业信息化建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流,从而提高企业综合实力
2、。该课程设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信息进行查询。二、系统分析与设计二、系统分析与设计(一)系统功能要求(一)系统功能要求 可以输入航班信息系,可采用基数排序法对飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行。1. 航班记录包括:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价。2.查询航班信息。(二)系统模块结构设计(二)系统模块结构设计通过对系统功能的分析,航班查询系统功能如图 X 所示。2 图 1 航班查询系统功能图通过上图的功
3、能分析,把整个系统划分为 5 个模块:1、航班号查询,该模块主要实现通过输入航班号实现对该趟航班的查询。2、班期查询,该模块主要实现通过输入班期实现对该趟航班的查询。3、起飞站查询,该模块主要实现通过输入起飞地点实现对该趟航班的查询。4、到达站查询,该模块主要实现通过输入到站地点实现对该趟航班的查询。5、起飞时间查询,该模块主要实现通过输入起飞时间实现对该趟航班的查询。三、系统的设计三、系统的设计与实现与实现(一)查询函数:(一)查询函数:分析:输入要查询的方式,例如:航班号、起点站、终点站、起飞时航班查询系统航班号查询起飞站查询终点站查询起飞时间查询到达时间查询3间、到达时间。该函数的流程图
4、如下图 2 所示。4图 2:查询函数流程图该模块的具体代码如下所示。开始初始化信息排序主菜单显示输入查询序号判断序号起点站班号到达站起飞时间到达时间输出航班信息结束5void Seqsearch(sllist l,keytype key,int i) /顺序查找函数int j,k,m=0;printf(* 航班号 起点站 终点站 航班期 起飞时间 到达时间 机型 票价 *n);for(j=1;j=1&i=5)putchar(n);printf(n);printf( $ 航班信息查询系统 $n);printf( n);printf( $ 1.航 班 号 $n);printf( $ 2.起
5、 点 站 $n);6printf( $ 3.终 点 站 $n);printf( $ 4.起飞时间 $n);printf( $ 5.到达时间 $n);printf( $ 6.退出系统 $n);printf( n);printf( 请输入您的选择:);scanf(%d,&i);printf(n);switch(i)if(k=6)printf(% 对不起!无此航班信息! %n);elseprintf(航班号 起点站 终点站 航班期 起飞时间 到达时间 机型 票价n);printf(%stt,l.slk.keys);printf(%stt,l.slk.others.qdz);printf(%s
6、tt,l.slk.others.zdz);printf(%stt,l.slk.others.bq);printf(%stt,l.slk.others.qftime);printf(%stt,l.slk.others.artime);printf(%stt,l.slk.others.jixing);printf(%dtt,l.slk.others.price);printf(n);break;case 1:printf(输入要查询的航班号:);scanf(%s,key);Seqsearch(l,key,i);break;case 2:printf(输入要查询的航班起点站名:);scanf(%s,
7、key);Seqsearch(l,key,i);break;case 3:printf(输入要查询的航班终点站名:);scanf(%s,key);Seqsearch(l,key,i);break;case 4:printf(输入要查询的航班:起飞时间);scanf(%s,key);Seqsearch(l,key,i);break;case 5:printf(输入要查询的航班到达时间:);scanf(%s,key);Seqsearch(l,key,i);break;case 0:printf(谢谢使用!n);7(二)(二)输入函数输入函数输入您所要输入的数据,该函数的流程图如下图 3 所示。 图
8、 3 输入函数流程图该模块的具体代码如下所示:void shuru(sllist &k) int i=1; /输入航班记录函数char ch=y;printf(请输入航班信息!n);while(ch=y|ch=Y)printf(航班号 起点站 终点站 航班期 起飞时间 到达时间 机型 票价n);scanf(%s%s%s%s%s%s%s%d,k.sli.keys,k.sli.others.qdz,k.sli.others.zdz,k.sli.others.bq,k.sli.others.qftime,k.sli.others.artime,k.sli.others.jixing,&
9、;k.sli.others.price);i+;getchar(); printf(需要继续输入吗?n);printf(y 代表继续输入/n 代表结束输入!n);printf(请输入 y 或 nn);scanf(%c,&ch);/k.length=i-1;开始输入信息结束8四、系统测试四、系统测试(一)测试(一)测试 main()函数函数 图 4 输入数据9 图 5 查询信息 10 图 6 查询信息11 图 7 查询信息显示12(二)测试查询函数(二)测试查询函数 图 8 查询信息13 图 9 查询信息14 图 10 查询信息(三)测试输入函数(三)测试输入函数测试数据:CA1544合
10、肥北京1.2.4.510551240733960MU5341上海广州每日14201615M901280CZ3869重庆深圳2.4.6085510357331010MU3682桂林南京2.3.4.6.720502215M90138015 图 11 输入信息 五、总结五、总结该课程设计实现了根据航班号,起飞地点,到达地点,起飞时间,到达时间对该趟航班进行查询的功能。在编写过程中,运用了对航班数据的排序和查找,冒泡排序和顺序查找等知识,还有建立静态链表等。系统在此次运行过程中,刚开始没有办法输入,之后输入可以实现但又无法正确查询,查询出来的都是错的,而且现实的结果和我编写的不相符。对冒泡排序的运用,
11、理解不熟,无法书写出满足实验需求的程序代码。对冒泡排序在不同情况下的区别没有掌握。本次的课程设计没有实现对班期,价格,航班号这三项对该趟航班的16查询。也没有运用二分查找,基数排序等操作。通过这次课程设计,使我对 C 语言编程有了新的认识。以前编程只是注重如何编写函数能够完成所需要的功能,只是根据书上的算法敲打出一段程序。但是在做课程设计的过程中,对链表,指针的使用有了一定的提高。但是就指针的输入和输出还是存在比较大的问题。对什么时候要用地址符,什么时候不用不太清楚,再就是函数调用不太会。因此我觉得的,了解典型数据结构的性质是非常有用的,它往往是编写程序的关键。六、附件(代码、部分图表)六、附
12、件(代码、部分图表)# include # include # define Maxspace 100# define keylen 6typedef char keytype;typedef struct char qdz6; /起点char zdz6; /终点char bq6; /班期char qftime5; /起飞时间 char artime5; /到达时间char jixing4; /机型int price; /票价infotype; /航班记录类型typedef struct keytype keyskeylen; /关键字(航班号)infotype others;int next
13、;slnode;typedef structslnode slMaxspace;17int num; /记录当前关键字字符个数int length; /当前表长sllist; /静态链表类型void Bubble_Sort(sllist k) /冒泡排序法(从第一个记录到第 n 个记录,对 n-1 对相邻的两个记录关键字进行比较,一趟之后,/最大数沉底 Rn,第二趟,次大数沉到 Rn-1,.重复 n-1 次,在 Rn中,n 个记录有序。/排序按价格排序int i,j; int swap;int tmp;char tmp26;/putchar(b);for(i=1;ik.length;i+)/p
14、utchar(b);swap=0;for(j=1;jk.slj+1.others.price)tmp=k.slj.others.price;k.slj.others.price=k.slj+1.others.price;k.slj+1.others.price=tmp;strcpy(tmp2,k.slj.others.artime);strcpy(k.slj.others.artime,k.slj+1.others.artime);strcpy(k.slj+1.others.artime,tmp2);strcpy(tmp2,k.slj.others.bq);strcpy(k.slj.other
15、s.bq,k.slj+1.others.bq);strcpy(k.slj+1.others.bq,tmp2);strcpy(tmp2,k.slj.others.jixing);strcpy(k.slj.others.jixing,k.slj+1.others.jixing);strcpy(k.slj+1.others.jixing,tmp2);strcpy(tmp2,k.slj.others.qdz);strcpy(k.slj.others.qdz,k.slj+1.others.qdz);strcpy(k.slj+1.others.qdz,tmp2);18strcpy(tmp2,k.slj.o
16、thers.qftime);strcpy(k.slj.others.qftime,k.slj+1.others.qftime);strcpy(k.slj+1.others.qftime,tmp2);strcpy(tmp2,k.slj.others.zdz);strcpy(k.slj.others.zdz,k.slj+1.others.zdz);strcpy(k.slj+1.others.zdz,tmp2);strcpy(tmp2,k.slj.keys);strcpy(k.slj.keys,k.slj+1.keys);strcpy(k.slj+1.keys,tmp2);swap=1;if(swa
17、p=0)break;for(i=1;i=k.length;i+)printf(%st%st%st%st%st%st%st%dn,k.sli.keys,k.sli.others.qdz,k.sli.others.zdz,k.sli.others.qftime,k.sli.others.artime,k.sli.others.jixing,k.sli.others.bq,k.sli.others.price);/*查找算法实现*/void Seqsearch(sllist l,keytype key,int i) /顺序查找函数int j,k,m=0;printf(* 航班号 起点站 终点站 航班
18、期 起飞时间 到达时间 机型 票价 *n);for(j=1;j=1&i=5)putchar(n);printf(n);printf( $ 航班信息查询系统 $n);printf( n);printf( $ 1.航 班 号 $n);printf( $ 2.起 点 站 $n);printf( $ 3.终 点 站 $n);printf( $ 4.起飞时间 $n);printf( $ 5.到达时间 $n);printf( $ 6.退出系统 $n);printf( n);printf( 请输入您的选择:);scanf(%d,&i);printf(n);switch(i)if(k=6)pr
19、intf(% 对不起!无此航班信息! %n);elseprintf(航班号 起点站 终点站 航班期 起飞时间 到达时间 机型 票价n);printf(%stt,l.slk.keys);printf(%stt,l.slk.others.qdz);printf(%stt,l.slk.others.zdz);printf(%stt,l.slk.others.bq);20printf(%stt,l.slk.others.qftime);printf(%stt,l.slk.others.artime);printf(%stt,l.slk.others.jixing);printf(%dtt,l.slk.
20、others.price);printf(n);break;case 1:printf(输入要查询的航班号:);scanf(%s,key);Seqsearch(l,key,i);break;case 2:printf(输入要查询的航班起点站名:);scanf(%s,key);Seqsearch(l,key,i);break;case 3:printf(输入要查询的航班终点站名:);scanf(%s,key);Seqsearch(l,key,i);break;case 4:printf(输入要查询的航班:起飞时间);scanf(%s,key);Seqsearch(l,key,i);break;case 5:printf(输入要查询的航班到达时间:);scanf(%s,k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准混凝土搅拌车运输合同范本下载
- 签协议书彩纸
- 门头移交协议书
- 2025年山东安全员A证题库及答案解析
- 道路从业教育咋考试及答案解析
- 码垛机安全培训考试题及答案解析
- 商检危包从业考试及答案解析
- 2025-2030绿氢电解槽技术路线经济性比较与项目投资决策要素报告
- 2025-2030细胞治疗产业化分析及质量控制研究报告
- 2025-2030纳米药物递送系统产业化障碍与突破路径分析
- 酒店股权激励管理办法
- 公司团队管理课件下载
- DB42∕T 2232-2024 湖北省水利工程护坡护岸参考设计图集
- 初中生劳动教育考试试题及答案
- 2025年吉林普通高中学业水平选择性考试历史真题及答案
- JJG(烟草)29-2011烟草加工在线水分仪检定规程
- 2024-2025学年广东深圳市宝安区宝安中学集团七年级上学期期中历史试卷
- T/SXCAS 015-2023全固废低碳胶凝材料应用技术标准
- 消防中控证考试题及答案
- 制造业智能化改造和数字化转型 诊断工作指引
- 2025年中国厚膜加热器行业市场占有率及投资前景预测分析报告
评论
0/150
提交评论