数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第1页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第2页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第3页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第4页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、编号:时间:2021年X月X日 书山有路勤为径,学海无涯苦作舟 页码:第3页共18页算法与数据结构实验报告航班查询与检索题目:航班查询与检索指导老师:组长:成员:航班信息的查询与检索第3贞共18页按时间查询:编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟页码:第4页共18页第5贞共18贞按站点查询:按票价范围查询编号:时间:2021年X月X日 书山有路勤为径,学海无涯苦作舟 页码:第6页共18页二分法查询:算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/三:航班信息的查询与检索*/#include<iostream.h>第7贞共18贞编

2、号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟 页码:第18页共18页p=head:for(i=0; i<r; i+)(queuei.f=NULL; queuei.e=NULL;清队列while(p!=NULL)(k=p->keyU;按排序码的第j个分量进行分配if(queuek.f=NULL) queue(k.f=p: /若第k个堆为空,则当前记录为队头else (queuek.e)->next=p;queuek.e=p;p=p->next;i=0;while(queuei.f=NULL) i+;p=queuei.e; head=queuei.f;for(

3、i+; i<r; i+)if(queuei.f!=NULL) p->next=queuei.f; p=queuei.e p->next=NULL;)/否则当前记录链接到第k队的队尾从r个队列中找出第一个非空的队列/head为收集链表的头指针 /收集非空队列第9贞共18页(*plist )->next=head;初始化航班信息struct Node e!ementN+l=“J”,0,NULL 表头''CA1544'',''CA1544''J合月巴''J:|匕京1245 ”,”10:55&quo

4、t;,” 12:40“J733”,960,NULL,“MU5341”JMU5341”,“上海“,“广州上,每日14:20",” 16:15“JM90”,1280,NULL,Z3869,Z3869,;,M°;,I|M;'246 "J08:S5" J 10:35" J733”,1010,NULL, “MU3682”JMU3682”桂林”J 南京” J23467”J20:50"J22:15“JM90”.1380,NULL.“HU1836”JHU1836“上海'”北京“每日 “J09:40"Jll:20“J738”,

5、1250,NULL. “CZ3528”, ”CZ3528”J成都“,“厦门”,“13457”, “15:10", ”16:50", “CRJ”,1060,NULL,/-信息显示 按表的格式输出某个航班信息 显示头部信息 void Cout_infol()(欢迎您使用航班信息表cout«0 cout«Mcout«0cout«0coutvv” 航班号 起飞时间到达时间起飞站 终点站 班期 机型 票价ii,«endl;显示主体信息void CoutJnfo2_ 1 (Node 口)方式一 (cout«M M«p

6、->info.flight_number;cout«M n«p->info.startjime;cout«M M«p->info.arrived_time;coutvv",«p->info.start_address;cout«0,«p->info.arrived_address;cout«M°«p->info.work_date;cout«M u«p->info.FlightT>pe;cout«M,l

7、71;p->info.fare«,7C,«endl:)void Coutjnfo2_2(flight F,int i)方式二(cout«M M«Fi.flight_number;cout«M n«Fi.startJime:cout«M t,«Fi.arrived_time;cout«u,«Fi.start_address:cout«uM«Fi.arrived_address;cout«M0«Fi.work_date;cout«M n

8、1;Fi.FlightType;cout«M”vvFi.farevv”元“vvendl;显示所有航班信息void output_ALLJnfol(Node element。)方式一(RadixList p=element;Cout_infol();p=p->next;while(p!=NULL)(Coutjnfo2_l(p);p=p->next; cout«endl:void output_ALLJnfo2(flight F) 方式二CoutJnfolO;编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟 页码:第18页共18页for(int i=0;

9、i<N;i+)(Cout_info2_2( F,i);cout«endl;/-信息复制将排好的序列(链表)转化成顺序表存储形式void copy (flight F,Node element ) (RadixList p=elenwnt;p=p->next;int i;for(b=0;ivN && p!=NULL;i+) (strcpy(Fi.flight_nunibenp->info.flight_nuinber);strcpy(Fi.start_time,p->info.start_tiine);strcpy(Fi.arrived_time

10、,p->info.arrivedJime);strcpy(Fi.start_address,p->info.start_address);strcpy(Fi.arrived_address,p->info.arrived_address);strcpy(Fi.work_date,p->info.work_date);strcpy(Fi.FlightType,p->info.FlightTjpe);Fi.fare=p->info.fare;p=p->next;)/-服务菜单void F_By_Tin)e(flight F,int);void F_By_A

11、ddress(flight F,int);void F_By_fare(flight F);void F_By_FN(flight Fl);主菜单void niaininenuO(char ch;int y;cout«°主菜单 n”vvendl;cout«01 " , ' , » , , , , , , , « , « , » , ' , , , , , , , , «, cout«°Please choose: (input the number)(输入查询/排序命令

12、)n"vvendl;cout«M0. show the mainmenu (显示主菜单)n"vvendl;cout«01.Find by flight nuniberf 按航班号查询 An”vvendl;cout«02.Find by start time(按起飞时间查询 AnZvendl;cout«03.Find by arrived time(按到达时间查询)n''vven(H;cout«04.Find by start address(按起飞地点查询)n''vvendl;cout

13、1;05.Find by arrived address(按目的地点查询)n"vveiidl:cout«06.Find by the fare(按票价范围查询)n''vvendl;cout«M其他键退出M«endl;cout«u=n"vven(H;whiled)coutvv”请输入服务命令:”; cin»y; switch(y) ( case 0: niainmenu();break; case l:F_By_FN(Flight);break;case 2:F_By_Time(Flight,l);break;

14、case 3:F_By_Time(Flight,2);break;case 4:F_By_Address( Flight,1 );break;case 5:F_By_/ddress( Flight,! );break;case 6:F_By_fare(Flight);break;default :cout«H谢谢惠顾!M«endl:break; coutvv”是否退出?(7N): ”; cin»ch; if(ch=,Y,llch=,y,) break; ) /-查询系统通过航班号实现二分查找法查找 void F_By_FN(flight F) ( int low=

15、0,high=Njnid; char Num10; cout<< ”请输入您要查询的航班号:“; cin»Nuin; CoutJnfoM);/显示头部信息 while(low<=high)mid=(low+high)/2;if(strcmp(Nuin,Finid.flight_nuinber)=O) CoutJnfo2_2(Fjnid);break; else if(strcinp(Num,Finid.flight_nuinber)<O) high=mid-l;else low=mid+l;cout«M*松文对不起,没有您要查找的航班号*权*o

16、71;endl;通过起飞/到达时间查询void F_By_Tinw(flight F,int Time)char T6;cout«”请输入您要查询的航班的起飞/抵达时间:“;cin»T;CoutJnfolOW显示头部信息for(i=0;i<N;i+)(if(Time=l) 按起飞时间查询if(strcmp(T,Fi.start_time)=O) Cout_info2_2(Fj);if(Time=2) 按抵达时间查询(if(strcmp(T,FiJ.arrived_time)=O) CoutJnfo2_2(F,i);coutvv”*对不起,该时间没有航班*°&

17、#171;endl;通过站点查询void F_By_Address(flight F(,int AD)(char str10;coutvv”请输入您要查询的航班的起飞/抵达地址严;cin»str;Cout_infol();for(int i=0;ivN;i+)(if(AD=l)按起点站查询if(strcmp(stnFi.start_address)=O) Cout_info2_2(Fj);第13贞共18页if(AD=2)按目的站查询( if(strcmp(str,Fi.arrived_address)=O) Cout_info2_2(F,i);cout«M*对不起,该站点不

18、存在*u«endl;通过票价范围查询 void F_By_fare(flight F) (int T1,T2J;coutvv”请输入您要查询的航班的最低票价(单位:元):“;cin»Tl;cout«”请输入您要查询的航班的最高票价(总位:元):“;cin»T2;CoutJnfoK);for(i=0:i<N;i+)(if(Tl<=Fi.fare && T2>=Fi.fare) Cout_info2_2(F,i);)coutvv”*对不起,没有适合您的航班,请修改您的票价范围"*” vvendl;/-主函数 int

19、 mainO(RadixList p=element;for(int i=0;ivN;i+)eleinenti.next=&elementi+l;element! 10.next=NULL;radixSort(&p, D. R); 基数排序output_ALL】ifol(demei】5输出排序后的有序序列(航班信息)copy(Flight,dement); 另存储排序后的航班信息inainine nu(); 给出主菜雅return 0;测试数据及测试结果:编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟 页码:第"页共18页M航班信息表航班号J 起飞时间到

20、达时间O起飞站P终点站班期机型:票价CA154410551240盒需善哀1245733963元_CZ352815101650<1113457CRJ10607ECZ38698551035重庆卷圳2467331010 元H整屋每日7381250 元MU3G8228502215,宙木吊23467M901380 元MU534114201615上海广州每日M901280%第#贞共18页编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟 页码:第18页共18页第19贞共18页*航班信息表X X X X X X X X X X X X X X X X X X X X

21、 X X X X X X X X X X X X X X X X X X X1280 元M90MU5341机型733CA154410:5512:40 合肥 北京 1245航班信息表156N 2入入t号 班1肮 .的航班号 起飞时间 到达时间 起飞站 终点站 班期H>4y 幺署一 1?<务要 34出服您 U5退入入 M否翦航班号 起飞时间到达时间起飞站 终点站 班期需黑莓嘉藤班的起飞/抵达时间:H 20*航班信息表*K-K*-X-X*X-X-X-X-XX-X-X-X-X-*?C?C)C)CX*X-X-X-X-X航班号起飞时间到达时间 起飞站终点站班期是请请9 内 Q5J N>-

22、w 幺裳 6?<务要 83出服您 U1B入入机型738票价票价96。元票价1250 元*航班信息表*x-xxx-x-x-x-xx-x-x-x-x-x-x-x-x-x-xx-x-x-x-x”航班号起飞时间到达时间起飞站终点站班期HU183609:4011:20 上海 北京 每日出珏W半.机型738票价1250 元请强i入服务也令5请输入您要皆询的航班的起飞/抵达地址:深圳航既号起飞时间到达时间起飞站终点站班期N>4询 V窜查 ?<务要要 出服您您 退入入入 否 是请请请:55N610 = 35重庆 深圳航班信息表246机型733票价(010 元航班号起飞时I司到达时间起飞站终点站CA1544CZ3528CZ386910:5515:1008:550 0 54 5 32 6 0111班期124513457246机型733CBJ733票价960元_1060g;1010 亓2£±边界值处理:请摘入服务金令:1请输入您要叠询的航班号:CA5899欢迎您使用 航班信息表票价航班号起飞时间到达时间起飞站 终点站 班期 机型x-XX

温馨提示

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

最新文档

评论

0/150

提交评论