航班信息的查询与检索的程序设计模版_第1页
航班信息的查询与检索的程序设计模版_第2页
航班信息的查询与检索的程序设计模版_第3页
航班信息的查询与检索的程序设计模版_第4页
航班信息的查询与检索的程序设计模版_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

《数据结构》课程设计报告PAGE31-《数据结构》课程设计报告《数据结构》课程设计报告设计题目航班信息的查询与检索专业软件工程班级08级一班姓名李桦学号081112345完成日期2010-6-82010年6月8日星期二

目录1.问题描述………………页码2.系统设计………………页码3.数据结构与算法描述…………………页码4.测试结果与分析………页码5.总结…………………页码6.参考文献………………页码附录程序源代码…………页码航班信息的查询与检索1.问题描述:上学期,我们在刘理老师的带领下,大致学习了一下《数据结构》,实现了简单的数据结构算法。今年,我们将在王咯老师的带领下,完成简单的数据结构课程设计。在数据结构的学习中我们知道,排序和查找是在数据结构中使用频率非常高。为了能够快速有效地进行查询与检索,我们需要对记录按关键字进行排列。选择《航班信息查询与检索》这个课题,主要是因为当今时代的需求。随着科技与经济的发展,当今乘飞机的人越来越多,这时,快速的了解各类航班的班次、时间、价格及机型的信息将备受关注。在我开发的这个《航班信息查询与检索》这个系统中,航班号将成为关键字,而且是具有结构特点的一类关键字。通过关键字的键入,你将获得你所需要的航班的全部信息。2.系统设计2.1设计目标:通过一定的数据结构,实现对信息的查询与检索并按要求输出。试设计一个航空客运定票系统。[基本要求]每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。系统能实现的操作和功能如下:1)查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;3)承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。实现提示:两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数无法预计,队列也应以链表作为存储结构。在这个过程中应熟练掌握:(1)指针;(2)分配函数;(3)搜集函数;(4)排序;(5)二分查找;2.2设计思想:数据用数组存储,通过设置关键字并用一定的数据结构对其进行一定的数据排序。输入航班信息,进行存储及按要求的查找。在这期间,我们需要书写四个基本函数,即分配函数、搜集函数、排序、及二分查找函数。用switch分支实现分条件的选择,并对子函数进行相关的调用。按要求输出用户所需信息,实现简单而便捷的快速查询与检索。2.3系统模块划分2.3.1航班信息查询编号字段1字段2字段3字段4字段5字段6字段7字段81航班号起点站终点站班期起飞时间到达时间机型票价2CA1544郑州上海1.2.3.5.6.710201422H546T9603MU5341上海浙江1.2.4.5.6.714221955T24T9524CS166上海福建1.2.3.4.5.608251422HT543645625DR5465浙江郑州1.2.3.4.5.6.709141955H1243686GT1645浙江上海1.2.5.6.721551422G1636957GT256浙江福建1.2.5.6.712341955G3356588GT1334郑州福建1.2.3.4.5.615262155E258845689E456福建上海1.2.5.6.7134714224853254210IU2665上海郑州1.2.5.6.719552155223IY369113.数据结构与算法描述:流程图航班信息的查询与检索航班信息的查询与检索选择操作执行操作显示信息修改信息判断是否输入有误是更新数据否航班信息的查询与检索航班信息的查询与检索添加航班信息班信息删除航班信息查询与检索显示全部信息退出系统航班号起点站终点站航班期起飞时间到达时间机型票价总体结构设计框图总体结构设计框图注:由于在查询与检索时按照关键字航班期、机型、票价的查询不多,故为简洁快捷起见,在程序设计中他们的查询结构略去。在此后将不作说明。4.测试结果与分析(可将测试过程抓图说明)*欢迎进入航班信息查询与检索系统!!!************************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):1航班号起点站终点站航班期起飞时间到达时间机型票价ew4556北京上海1.6.714232136WE125982继续输入吗?y/n:Y航班号起点站终点站航班期起飞时间到达时间机型票价TR865武汉南京5.6.705262136T456625继续输入吗?y/n:Y航班号起点站终点站航班期起飞时间到达时间机型票价TU156香港澳门1.3.621361236GH45362继续输入吗?y/n:N***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):4航班号起点站终点站航班期起飞时间到达时间机型票价ew4556北京上海1.6.714232136WE125982TR865武汉南京5.6.705262136T456625TU156香港澳门1.3.621361236GH45362***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):1航班号起点站终点站航班期起飞时间到达时间机型票价TY156重庆济南2.5.712360526H45256继续输入吗?y/n:N***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):4航班号起点站终点站航班期起飞时间到达时间机型票价ew4556北京上海1.6.714232136WE125982TR865武汉南京5.6.705262136T456625TU156香港澳门1.3.621361236GH45362TY156重庆济南2.5.712360526H45256***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):3*****************************航班信息查询系统******************************1.航班号**2.起点站**3.终点站**4.起飞时间**5.到达时间**0.返回******************************请输入(0—5):1请输入要查询的航班号(字母要大写):TY156航班号起点站终点站航班期起飞时间到达时间机型票价TY156重庆济南2.5.712360526H45256*****************************航班信息查询系统******************************1.航班号**2.起点站**3.终点站**4.起飞时间**5.到达时间**0.返回******************************请输入(0—5):2请输入要查询的航班的起始站名:香港航班号起点站终点站航班期起飞时间到达时间机型票价TU156香港澳门1.3.621361236GH45362*****************************航班信息查询系统******************************1.航班号**2.起点站**3.终点站**4.起飞时间**5.到达时间**0.返回******************************请输入(0—5):3请输入要查询的航班的终点站名:南京航班号起点站终点站航班期起飞时间到达时间机型票价TR865武汉南京5.6.705262136T456625*****************************航班信息查询系统******************************1.航班号**2.起点站**3.终点站**4.起飞时间**5.到达时间**0.返回******************************请输入(0—5):4请输入要查询的航班的起飞时间:1423航班号起点站终点站航班期起飞时间到达时间机型票价ew4556北京上海1.6.714232136WE125982*****************************航班信息查询系统******************************1.航班号**2.起点站**3.终点站**4.起飞时间**5.到达时间**0.返回******************************请输入(0—5):5请输入要查询的航班的到达时间:2136航班号起点站终点站航班期起飞时间到达时间机型票价ew4556北京上海1.6.714232136WE125982航班号起点站终点站航班期起飞时间到达时间机型票价TR865武汉南京5.6.705262136T456625*****************************航班信息查询系统******************************1.航班号**2.起点站**3.终点站**4.起飞时间**5.到达时间**0.返回******************************请输入(0—5):0***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):2**************************************航班信息删除系统***************************************1.按航班号删除**2.按起点站删除**3.按终点站删除**4.按起飞时间删除**5.按到达时间删除**0.返回***************************************请输入(0—5):1请输入要删除的航班号(字母要大写):TR865航班号起点站终点站航班期起飞时间到达时间机型票价TR865武汉南京5.6.705262136T456625是否删除此记录?Y/N:n**************************************航班信息删除系统***************************************1.按航班号删除**2.按起点站删除**3.按终点站删除**4.按起飞时间删除**5.按到达时间删除**0.返回***************************************请输入(0—5):0***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):0谢谢使用,再见!***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):0谢谢使用,再见!***********************************航班信息查询与检索系统************************************1.输入航班信息**2.删除航班信息**3.查询信息**4.显示全部记录**0.退出************************************请输入(0—4):5.总结现在是2010年,毕业近在咫尺,我们大二了。其实,我想我是失败的,因为我并没有学到我想要的那些东西。白驹过隙间,青春已不再,我们不得不学会成长。我不是一个优秀的学生,在学校,因为我很懒惰。懒惰创造简洁,而所有的程序便是为了方便人们的懒惰。为了更好的懒惰,我想我的好好努力。上学期我们学习了《数据结构》的理论课,教科老师是刘维群老师,她教的很好很详细;这半学期我们王岚老师带领着做课程设计。王岚老师是一个温和可亲的人,我很喜欢。她总是和蔼可亲,细致耐心。选择这个题目,一是因为我自己觉得它的难度不强也不弱,对我而言刚刚好,二是其余的都有好多人选,我不想都一样,三是我比较想所设个题目,主要是第一感觉。这个题目我做了比较长的时间,它并不像我想像的那样简单。刚开始我使用可视化语言VC++做的,实在是不行,在登陆界面是我进行了背景的插图与内联,但总是有错。为此我上网并在图书馆查了一系列的资料,后实在是不想,能力及时间有限,只得放弃。后选择了C语言,因为去年的《数据结构》一直是用它做的,所以比较熟悉。我知道我的程序还有许多不完善之处,但是我个人觉得已经很不错了。简单的未必就不是最好的,不是么?感谢所有给与我帮助的人。感谢我的老师,教会了我驾驭一门语言和一些结构;感谢我的同学,曾在我程序死机时给与我的帮助与鼓励:感谢我的室友,在一起奋战的日子同舟共济……我会努力,同时我也相信,我可以做的很好。6.参考文献:[1]刘振安等.《C++程序设计课程设计》.北京:机械工业出版社,2004.12.附录程序源代码/*Name:航班信息的查询与检索Copyright:2010(1)Author:黄梅Date:08-04-1013:36Description:对航班信息进行查询与检索,可按航班号、起点站、终点站、起飞时间、到达时间进行查询*/#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream.h>structSLNode{charstart[10];//起点charend[10];//终点charsche[10];//班期chartime1[6];//起飞时间chartime2[6];//到达时间charmodel[4];//机型intprice;//票价charkeys[6];//关键字(航班号)};//航班记录类型//静态链表节点类型typedefstruct{SLNode*sl;//动态链表intlistsize;//最大表长intlength;//当前表长}SLList;//顺序表类型//显示一条航班记录函数voidDisplay(SLListL,inti){printf("航班号起点站终点站航班期起飞时间到达时间机型票价\n");printf("%6s%6s%6s%6s%6s%6s%4s%d\n",L.sl[i].keys,L.sl[i].start,L.sl[i].end,L.sl[i].sche,L.sl[i].time1,L.sl[i].time2,L.sl[i].model,L.sl[i].price);}//顺序查找函数voidSeqSearch(SLListL,charkey[],inti){intk,j,m=0;for(j=1;j<=L.length;j++){switch(i){case1:k=strcmp(key,L.sl[j].keys);break;case2:k=strcmp(key,L.sl[j].start);break;//起点站case3:k=strcmp(key,L.sl[j].end);break;//终点站case4:k=strcmp(key,L.sl[j].time1);break;//起飞时间case5:k=strcmp(key,L.sl[j].time2);break;//到达时间}if(k==0){m=1;Display(L,j);}}if(m==0){printf("无此航班信息,您可能输入错误!\n");}}voiddel(SLList&L,charkey[],inti){intk,j,m=0;charch;for(j=1;j<=L.length;j++){switch(i){case1:k=strcmp(key,L.sl[j].keys);break;case2:k=strcmp(key,L.sl[j].start);break;//起点站case3:k=strcmp(key,L.sl[j].end);break;//终点站case4:k=strcmp(key,L.sl[j].time1);break;//起飞时间case5:k=strcmp(key,L.sl[j].time2);break;//到达时间}if(k==0){m=1;Display(L,j);printf("是否删除此记录?Y/N:");scanf("%c",&ch);getchar();if(ch=='Y'||ch=='y'){strcpy(L.sl[j].keys,L.sl[L.length].keys);strcpy(L.sl[j].end,L.sl[L.length].end);strcpy(L.sl[j].model,L.sl[L.length].model);L.sl[j].price=L.sl[L.length].price;strcpy(L.sl[j].sche,L.sl[L.length].sche);strcpy(L.sl[j].start,L.sl[L.length].start);strcpy(L.sl[j].time1,L.sl[L.length].time1);strcpy(L.sl[j].time2,L.sl[L.length].time2);L.length=L.length-1;;printf("删除成功!!\n");}}}if(m==0){printf("无此航班信息,您可能输入错误!\n");}}//查询检索菜单控制程序voidserachcon(SLListL){inti=1;charkey[10],kl[8];while(1){printf("****************************\n");printf("*航班信息查询系统*\n");printf("****************************\n");printf("*1.航班号*\n");printf("*2.起点站*\n");printf("*3.终点站*\n");printf("*4.起飞时间*\n");printf("*5.到达时间*\n");printf("*0.返回*\n");printf("****************************\n");printf("*请输入(0—5):");scanf("%d",&i);getchar();if(i>=0&&i<=5){switch(i){case1:printf("请输入要查询的航班号(字母要大写):");scanf("%s",key);getchar();SeqSearch(L,key,i);break;case2:printf("请输入要查询的航班的起始站名:");scanf("%s",key);getchar();SeqSearch(L,key,i);break;case3:printf("请输入要查询的航班的终点站名:");scanf("%s",key);getchar();SeqSearch(L,key,i);break;case4:printf("请输入要查询的航班的起飞时间:");scanf("%s",kl);getchar();SeqSearch(L,kl,i);break;case5:printf("请输入要查询的航班的到达时间:");scanf("%s",kl);getchar();SeqSearch(L,kl,i);break;case0:return;}}elseprintf("您输入的信息错误!\n");}}//输入航班记录函数voidInputData(SLList&L){inti;charyn='y';while(yn=='y'||yn=='Y'){if(L.listsize<=L.length){SLNode*newbase;newbase=(SLNode*)realloc(L.sl,(L.listsize+100)*sizeof(SLNode));if(!newbase){printf("存储分配失败");return;}//存储分配失败L.sl=newbase;//新基址L.listsize+=100;//增加存储容量}i=++L.length;printf("航班号起点站终点站航班期起飞时间到达时间机型票价\n");scanf("%s%s%s%s%s%s%s%d",L.sl[i].keys,L.sl[i].start,L.sl[i].end,L.sl[i].sche,L.sl[i].time1,L.sl[i].time2,L.sl[i].model,&L.sl[i].price);printf("继续输入吗?y/n:");getchar();scanf("%c",&yn);getchar();}}voidmenu(){printf("**********************************\n");printf("*航班信息查询与检索系统*\n");printf("**********************************\n");printf("*1.输入航班信息*\n");printf("*2.删除航班信息*\n");printf("*3.查询信息*\n");printf("*4.显示全部记录*\n");printf("*0.退出*\n");printf("**********************************\n");printf("*请输入(0—4):");}voiddel_SNode(SLList&L){getchar();if(L.length>0){inti;charkey[10],kl[8];while(1){printf("*************************************\n");printf("*航班信息删除系统*\n");printf("*************************************\n");printf("*1.按航班号删除*\n");printf("*2.按起点站删除*\n");printf("*3.按终点站删除*\n");printf("*4.按起飞时间删除*\n");printf("*5.按到达时间删除*\n");printf("*0.返回*\n");printf("*****************

温馨提示

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

评论

0/150

提交评论