航班查询系统实验报告汇总
航班毕业设计实训报告总结

一、前言随着我国航空业的快速发展,航班管理逐渐成为航空业中的重要环节。
为了提高航班管理效率,降低成本,确保航班安全,本次毕业设计实训以航班管理为主题,通过对航班管理流程的研究,设计了一套航班管理系统。
以下是本次实训的总结。
二、实训目的与意义1. 了解航班管理的基本流程,为今后从事相关工作奠定基础。
2. 掌握航班管理系统的设计方法,提高自己的编程能力。
3. 培养团队协作精神,提高沟通与协调能力。
4. 为我国航空业提供一套实用的航班管理系统,提高航班管理效率。
三、实训内容与方法1. 实训内容本次实训主要内容包括:(1)航班管理基本流程的研究;(2)航班管理系统的需求分析;(3)航班管理系统的设计;(4)航班管理系统的实现与测试;(5)航班管理系统的优化与改进。
2. 实训方法(1)文献研究法:查阅相关文献资料,了解航班管理的基本流程和国内外航班管理系统的设计方法。
(2)案例分析法:分析国内外航班管理系统的成功案例,为本次实训提供借鉴。
(3)编程实现法:运用编程语言实现航班管理系统,并进行测试和优化。
(4)团队协作法:分组进行实训,共同完成实训任务。
四、实训成果1. 完成航班管理系统设计文档,包括系统架构、模块划分、功能描述等。
2. 编写航班管理系统源代码,实现航班管理的基本功能。
3. 对航班管理系统进行测试,确保系统稳定运行。
4. 对航班管理系统进行优化与改进,提高系统性能。
五、实训心得体会1. 提高了对航班管理流程的认识,了解了航班管理的基本环节。
2. 学会了航班管理系统的设计方法,掌握了编程技能。
3. 培养了团队协作精神,提高了沟通与协调能力。
4. 深入了解了我国航空业的发展现状,为今后从事相关工作奠定了基础。
六、不足与展望1. 不足之处(1)航班管理系统功能较为单一,未能涵盖航班管理的全部环节;(2)系统性能有待提高,部分功能实现不够完善;(3)团队协作过程中,沟通与协调仍有待加强。
2. 展望(1)进一步完善航班管理系统功能,使其更全面、实用;(2)优化系统性能,提高系统稳定性;(3)加强团队协作,提高沟通与协调能力;(4)关注我国航空业发展动态,为我国航空业提供更具针对性的解决方案。
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告航班查询与检索题目:航班查询与检索指导老师:组长:成员:一:航班信息的查询与检索按时间查询:按站点查询:二分法查询:二:算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/三:/*航班信息的查询与检索*/#include<iostream.h>#include<string.h>#include<stdio.h>#define N 6 //航班数//航班信息typedef struct flight{char flight_number[10]; //航班号char start_address[10]; //起飞站char arrived_address[10]; //终点站char work_date[10]; //班期char start_time[6]; //起飞时间char arrived_time[6]; //到达时间char FlightType[4]; //机型int fare; //票价}DataType;struct flight Flight[N];//-----------按航班号进行基数排序-----------typedef char KeyType;#define D 7 // D为排序码的最大位数#define R 'a' // R为基数,这里为小于字母'a'代表的整型值struct Node; //单链表结点类型typedef struct Node RadixNode;struct Node{KeyType key[D]; //关键字DataType info; //数据信息RadixNode *next;};typedef RadixNode * RadixList;typedef struct QueueNode{RadixNode *f; //对列的头指针RadixNode *e; //对列的尾指针}Queue;Queue queue[R];//用队列表示桶void radixSort(RadixList * plist, int d, int r){int i,j,k;RadixNode *p, *head;head=(*plist)->next;for(j=d-1; j>=0; j--) //进行d次分配和收集{p=head;for(i=0; i<r; i++){queue[i].f=NULL; queue[i].e=NULL; //清队列}while(p!=NULL){k=p->key[j]; //按排序码的第j个分量进行分配if(queue[k].f==NULL) queue[k].f=p; // 若第k个堆为空,则当前记录为队头else (queue[k].e)->next=p; // 否则当前记录链接到第k队的队尾queue[k].e=p;p=p->next;}i=0;while(queue[i].f==NULL) i++; // 从r个队列中找出第一个非空的队列p=queue[i].e; head=queue[i].f; //head为收集链表的头指针for(i++; i<r; i++)if(queue[i].f!=NULL){ p->next=queue[i].f; p=queue[i].e; } // 收集非空队列p->next=NULL;}(*plist)->next=head;}//初始化航班信息struct Node element[N+1]={" "," "," "," "," "," "," "," ",0,NULL,//表头"CA1544","CA1544","合肥","北京","1245 ","10:55","12:40","733",960,NULL,"MU5341","MU5341","上海","广州","每日","14:20","16:15","M90",1280,NULL, "CZ3869","CZ3869","重庆","深圳","246 ","08:55","10:35","733",1010,NULL, "MU3682","MU3682","桂林","南京","23467","20:50","22:15","M90",1380,NULL,"HU1836","HU1836","上海","北京","每日","09:40","11:20","738",1250,NULL,"CZ3528","CZ3528","成都","厦门","13457","15:10","16:50","CRJ",1060,NULL,};//------------信息显示------------//按表的格式输出某个航班信息//显示头部信息void Cout_info1(){cout<<" ****************************************\n"<<endl;cout<<" * 欢迎您使用*\n"<<endl;cout<<" * 航班信息表*\n"<<endl;cout<<" ****************************************\n"<<endl;cout<<" 航班号起飞时间到达时间起飞站终点站班期机型票价\n"<<endl;}//显示主体信息void Cout_info2_1(Node p[])//方式一{cout<<" "<<p->info.flight_number;cout<<" "<<p->info.start_time;cout<<" "<<p->info.arrived_time;cout<<" "<<p->info.start_address;cout<<" "<<p->info.arrived_address; cout<<" "<<p->info.work_date;cout<<" "<<p->info.FlightType;cout<<" "<<p->info.fare<<"元"<<endl;}void Cout_info2_2(flight F[],int i)//方式二{cout<<" "<<F[i].flight_number;cout<<" "<<F[i].start_time;cout<<" "<<F[i].arrived_time;cout<<" "<<F[i].start_address;cout<<" "<<F[i].arrived_address; cout<<" "<<F[i].work_date;cout<<" "<<F[i].FlightType;cout<<" "<<F[i].fare<<"元"<<endl;}//显示所有航班信息void output_ALL_info1(Node element[]) //方式一{RadixList p=element;Cout_info1();p=p->next;while(p!=NULL){Cout_info2_1(p);p=p->next;}cout<<endl;}void output_ALL_info2(flight F[]) //方式二{Cout_info1();for(int i=0;i<N;i++){Cout_info2_2(F,i);}cout<<endl;}//--------------信息复制----------------//将排好的序列(链表)转化成顺序表存储形式void copy(flight F[],Node element[]){RadixList p=element;p=p->next;int i;for(i=0;i<N && p!=NULL;i++){strcpy(F[i].flight_number,p->info.flight_number);strcpy(F[i].start_time,p->info.start_time);strcpy(F[i].arrived_time,p->info.arrived_time);strcpy(F[i].start_address,p->info.start_address);strcpy(F[i].arrived_address,p->info.arrived_address);strcpy(F[i].work_date,p->info.work_date);strcpy(F[i].FlightType,p->info.FlightType);F[i].fare=p->info.fare;p=p->next;}}//---------------服务菜单--------------void F_By_Time(flight F[],int);void F_By_Address(flight F[],int);void F_By_fare(flight F[]);void F_By_FN(flight F[]);//主菜单void mainmenu(){char ch;int y;cout<<" 主菜单\n"<<endl;cout<<"===========================================================\n"<<endl;cout<<" Please choose: (input the number)(输入查询/排序命令)\n"<<endl; cout<<" 0. show the mainmenu (显示主菜单)\n"<<endl;cout<<" 1. Find by flight number(按航班号查询)\n"<<endl;cout<<" 2. Find by start time(按起飞时间查询)\n"<<endl;cout<<" 3. Find by arrived time(按到达时间查询)\n"<<endl;cout<<" 4. Find by start address(按起飞地点查询)\n"<<endl;cout<<" 5. Find by arrived address(按目的地点查询)\n"<<endl;cout<<" 6. Find by the fare(按票价范围查询)\n"<<endl;cout<<" ----其他键退出"<<endl;cout<<"===========================================================\n"<<endl;while(1){cout<<"请输入服务命令:";cin>>y;switch(y){case 0: mainmenu();break;case 1:F_By_FN(Flight);break;case 2:F_By_Time(Flight,1);break;case 3:F_By_Time(Flight,2);break;case 4:F_By_Address(Flight,1);break;case 5:F_By_Address(Flight,2);break;case 6:F_By_fare(Flight);break;default :cout<<" 谢谢惠顾!"<<endl;break;}cout<<"是否退出?(Y/N):";cin>>ch;if(ch=='Y'||ch=='y') break;}}//--------------查询系统--------------//通过航班号实现二分查找法查找void F_By_FN(flight F[]){int low=0,high=N,mid;char Num[10];cout<<"请输入您要查询的航班号:";cin>>Num;Cout_info1();//显示头部信息while(low<=high){mid=(low+high)/2;if(strcmp(Num,F[mid].flight_number)==0) {Cout_info2_2(F,mid);break;}else if(strcmp(Num,F[mid].flight_number)<0) high=mid-1;else low=mid+1;}cout<<" *************对不起,没有您要查找的航班号********** "<<endl;}//通过起飞/到达时间查询void F_By_Time(flight F[],int Time){int i;char T[6];cout<<"请输入您要查询的航班的起飞/抵达时间:";cin>>T;Cout_info1();//显示头部信息for(i=0;i<N;i++){if(Time==1) //按起飞时间查询{if(strcmp(T,F[i].start_time)==0) Cout_info2_2(F,i);}if(Time==2) //按抵达时间查询{if(strcmp(T,F[i].arrived_time)==0) Cout_info2_2(F,i);}}cout<<" *******对不起,该时间没有航班******* "<<endl;}//通过站点查询void F_By_Address(flight F[],int AD){char str[10];cout<<"请输入您要查询的航班的起飞/抵达地址:";cin>>str;Cout_info1();for(int i=0;i<N;i++){if(AD==1) //按起点站查询{if(strcmp(str,F[i].start_address)==0) Cout_info2_2(F,i);}if(AD==2) //按目的站查询{if(strcmp(str,F[i].arrived_address)==0) Cout_info2_2(F,i);}}cout<<" ********对不起,该站点不存在******** "<<endl; }//通过票价范围查询void F_By_fare(flight F[]){int T1,T2,i;cout<<"请输入您要查询的航班的最低票价(单位:元):";cin>>T1;cout<<"请输入您要查询的航班的最高票价(单位:元):";cin>>T2;Cout_info1();for(i=0;i<N;i++){if(T1<=F[i].fare && T2>=F[i].fare) Cout_info2_2(F,i);}cout<<" *******对不起,没有适合您的航班,请修改您的票价范围********" <<endl; }//--------------主函数----------------int main(){RadixList p=element;for(int i=0;i<N;i++)element[i].next=&element[i+1];element[10].next=NULL;radixSort(&p, D, R); //基数排序output_ALL_info1(element); //输出排序后的有序序列(航班信息)copy(Flight,element); //另存储排序后的航班信息mainmenu(); //给出主菜单return 0;}测试数据及测试结果:、边界值处理:四:遇到的问题及解决策略:首先是要实现所要的功能需用什么数据结构的问题,比如排序问题究竟用那一种,在组员的商量下和上网搜寻资料,采用对排序最符合,其次是在时间的查询过程中,比如输入时间16:40开始只能实现输入1640,最后通过改时间的数据类型实现了时间的输入,最后是在各个模块的组合过程中由于各个成员编程所起的名字或者其他原因,程序无法运行,最后在大家的努力下一起修改错误使得程序可以正常运行。
机场航班查询信息系统的设计与实现的开题报告

机场航班查询信息系统的设计与实现的开题报告一、选题背景随着航空业的不断发展,民航运输已成为现代人出行中最便捷、最安全、最快捷的交通方式。
而航班信息对于旅客出行的组织和安排至关重要。
机场航班信息系统旨在为旅客提供及时、准确的航班信息服务。
随着数据处理技术的不断提高,机场航班信息服务也越来越智能化。
二、研究目的本研究旨在设计并实现一套机场航班查询信息系统,能够提供便捷、准确的航班信息服务,方便旅客出行组织和安排。
三、研究内容1. 分析机场航班信息系统的需求,包括机场航班信息的查询、展示、管理、更新等需求。
2. 针对需求进行数据库的设计和建设,并进行相应的数据处理。
3. 设计并实现后台管理系统,包括对机场航班信息的录入、修改、删除等管理功能。
4. 设计并实现前台页面,展示机场航班信息,提供查询服务。
5. 进行系统测试和优化,确保系统的稳定性和用户体验。
四、研究方法本研究将采用以下方法:1. 文献资料法,调研国内外相关机场航班信息系统的设计与实现,了解其技术特点和常见问题。
2. 需求分析法,通过访谈和问卷调查来分析机场航班信息系统的需求,为后续的设计提供参考。
3. 数据库设计法,采用ER图和面向对象建模方法进行数据库的设计与建设。
4. 开发技术,采用Java技术、Spring框架、Mybatis框架、jQuery等技术进行开发。
5. 测试方法,依据正常使用情况,设计测试用例进行测试,及时发现和处理系统中的缺陷。
五、研究意义本研究的意义在于为机场航班信息服务的优化提供一个可行的解决方案,能够提供更快捷、便利、准确的服务。
同时能够提高机场工作效率,减少人力资源消耗。
六、预期成果1. 设计一套便捷、准确的机场航班查询信息系统,具备管理和查询航班信息的功能。
2. 搭建一套稳定、高效的系统架构,保证系统的稳定性和高可用性。
3. 提供用户友好、易于使用的前台页面,方便旅客快速查询所需信息。
4. 实现管理员针对航班信息的录入、修改、查询、删除等功能,提高航班信息的管理效率和准确性。
数据库实验报告----机票管理系统

河北工业大学计算机科学与软件学院《数据库原理》课程实验报告题目:机票预订系统年月日机票预订系统1 需求分析为方便旅客,某航空公司拟开发一个机票预定系统。
旅客可通过旅行社或机场前台向该系统查询航班情况(按目的地、起飞时间、航班班次等)。
旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,打印取票通知和账单,旅客在收到取票通知和账单后可交费并于飞机起飞前24小时凭取票通知和账单到机场前台取票,经系统校对信息无误后打印机票给旅客,旅客也可以直接到机场前台购票。
旅客也可向系统提出退票要求,系统针对具体情况计算手续费后进行相应退票处理。
1.1系统功能分析本系统设有三部分,分为旅行社登录部分、机场前台登录部分和管理员登陆部分。
不同部分通过不同的用户名进入机票预订系统的不同界面进行操作。
1)旅行社界面●查询:可对航班信息进行查询操作;●预订:可对旅客选定的航班进行预定操作并记录旅客预定信息;●帮助:提供系统使用帮助文档;●退出:关闭当前页面。
2)机场前台界面●查询:可对航班信息进行查询操作;●售票:可对旅客选定的航班进行操作记录旅客信息并打印机票;●取票:根据旅客提供的订单号核实旅客预定信息,打印机票;●退票:根据旅客提供的订单号核实旅客预定信息,为旅客提供退票服务;●帮助:提供帮助文档,方便旅客使用该系统;●退出:关闭当前页面。
3)系统管理员界面●查询机票信息:可对航班信息进行查询操作;●录入/修改机票信息:可对旅客信息进行添加、修改、浏览操作;●删除机票信息:可对旅客订票信息进行删除操作;●帮助:提供系统使用帮助文档;●退出:关闭当前页面。
机票预订系统主功能图:机票预订系统数据流图:3.机票预订系统数据字典在数据流图的基础上,定义数据字典。
数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。
民航订座系统实验报告(3篇)

第1篇一、实验目的通过本次实验,了解民航订座系统的基本操作流程,掌握系统的主要功能,熟悉航班信息查询、旅客订座、电子客票等业务操作,提高实际操作能力,为将来从事民航服务行业打下基础。
二、实验内容1. 民航订座系统概述2. 系统登录与界面介绍3. 航班信息查询4. 旅客订座5. 电子客票6. 系统退出三、实验步骤1. 系统登录与界面介绍(1)打开民航订座系统,输入用户名和密码进行登录。
(2)登录成功后,进入系统主界面,界面主要包括菜单栏、功能按钮、航班信息显示区域、旅客信息输入区域等。
2. 航班信息查询(1)在菜单栏选择“航班查询”功能。
(2)输入查询条件,如出发城市、到达城市、出发日期、航班号等。
(3)点击“查询”按钮,系统将显示符合条件的航班信息。
(4)查看航班信息,包括航班号、出发时间、到达时间、机型、舱位等级、票价等。
3. 旅客订座(1)在菜单栏选择“旅客订座”功能。
(2)输入旅客信息,如姓名、性别、身份证号码、联系方式等。
(3)选择航班信息,包括航班号、出发日期、舱位等级等。
(4)点击“提交”按钮,系统将显示订座成功信息。
4. 电子客票(1)在菜单栏选择“电子客票”功能。
(2)输入旅客信息,如姓名、身份证号码等。
(3)选择航班信息,包括航班号、出发日期、舱位等级等。
(4)点击“生成电子客票”按钮,系统将生成电子客票,并显示在界面上。
5. 系统退出(1)完成实验操作后,点击菜单栏的“退出”按钮。
(2)系统提示是否退出,点击“确定”按钮,系统将退出实验环境。
四、实验结果与分析1. 实验结果通过本次实验,成功掌握了民航订座系统的基本操作流程,包括航班信息查询、旅客订座、电子客票等业务操作。
2. 实验分析(1)实验过程中,遇到的问题及解决方法:a. 在输入旅客信息时,身份证号码格式错误,导致无法提交。
b. 在查询航班信息时,未输入出发城市或到达城市,导致查询结果为空。
c. 在生成电子客票时,未选择舱位等级,导致无法生成电子客票。
航空订票管理系统程序设计实验报告汇编

char name[10]; //定义字符型数组姓名name[10]
int seat; //定义整型变量座位号seat
int num; //定义整型变量航班号num
char no[18]; //证件号no
int ps; //订票数ps
string qfs; //起飞时间qfs
string jls; //降落时间jls
{
cout<<"请输入航班信息:"<<endl;
cout<<"请输入航班号"<<endl;
cin>>fl[len].a1; //录入航班号
cout<<"起飞时间"<<endl;
cin>>fl[len].a2; //录入起飞时间
cout<<"降落时间"<<endl;
cin>>fl[len].a3; //录入降落时间
void tuipiao(); //声明退票函数
void xiugai(); //声明修改函数
void shanchu(); //生命删除函数
void menu(); //声明主菜单函数
void duqu(); //声明文件读取函数
void tuichu(); //声明退出并保存函数
void luru() //航班信息录入
char qfd[10]; //起飞城市qfd
char jld[10]; //降落城市jld
int pj; //票价pj
}cu[200];
使用的函数:
void luru(); //声明录入函数
民航计算机实训报告总结

一、实训目的随着航空业的快速发展,民航行业对计算机技术的需求日益增加。
为了适应这一发展趋势,提高我国民航业的技术水平,培养具备计算机应用能力的人才,我们学校特开设民航计算机实训课程。
本次实训旨在通过理论联系实际,巩固所学的计算机知识,提高学生在民航领域的实际操作能力,为今后从事民航相关工作奠定坚实基础。
二、实训内容本次民航计算机实训主要包括以下内容:1. 民航信息系统概述:了解民航信息系统的概念、功能、组成以及在我国民航业的应用现状。
2. 航班管理系统:学习航班管理系统的基本操作,包括航班计划、航班调度、航班签派、航班统计等。
3. 旅客服务系统:掌握旅客服务系统的使用方法,包括旅客信息录入、座位预订、行李托运、航班查询等。
4. 航空货运系统:学习航空货运系统的操作,包括货物订舱、货物分拣、货物装机、货物跟踪等。
5. 民航安全管理与监控:了解民航安全管理与监控的基本原理、方法及手段,提高安全意识。
6. 计算机应用软件:学习民航领域常用的计算机应用软件,如Microsoft Office、MySQL数据库等。
三、实训过程1. 理论学习:在实训前,我们通过课堂学习,对民航计算机相关知识进行了系统学习,为实训打下了理论基础。
2. 实践操作:在实训过程中,我们按照实训指导书的要求,逐步掌握民航计算机操作技能。
在专业教师的指导下,我们进行了以下实践操作:(1)使用航班管理系统进行航班计划、航班调度、航班签派等操作;(2)运用旅客服务系统进行旅客信息录入、座位预订、行李托运、航班查询等操作;(3)熟悉航空货运系统的操作,包括货物订舱、货物分拣、货物装机、货物跟踪等;(4)学习民航安全管理与监控的相关知识,提高安全意识;(5)掌握民航领域常用的计算机应用软件,如Microsoft Office、MySQL数据库等。
3. 总结与反思:在实训过程中,我们认真总结经验教训,发现问题并及时与教师沟通,不断提高自己的操作技能。
飞机订票系统实验报告

实验题目:订票系统实验目的:1.了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
实验要求:●任务:通过此系统可以实现如下功能:●录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)●查询:⏹可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);⏹可以输入起飞抵达城市,查询飞机航班情况;●订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;●退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
●修改航班信息:当航班信息改变可以修改航班数据文件实验主要步骤:航班端(一) 输入航班信息,add()增加航班信息,并保存到save().(二) 修改信息,在xiugai()函数里,输入要修改的航班号,选择修改的内容,如修改时间,地点并保存。
客户端(一) 输入起始站和终点站,在两者都符合的条件下在search ()函数里查找,并输出航班信息。
(二) 订票:用search(),判断是否有符合的航班,有则输出并进行订票,还有输入客户信息。
(三) 退票:调用search(),用它的返回值判断是否有符合的航班,有则输入,并删除客户信息。
1) 在主函数里先了调用chushihua(),确定有hangban.dat 文件,并让客户或航班端选择相应的模块。
2) 定义订票业务函数,在这个函数中首先调用了search 函数查找需要订票的航班,用search 函数的返回值判断是否有该航班。
运用if 语句实现订票时的多种情况:订票数输入不正确、飞机票数不足等情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf("%s",key);
Seqsearch(l,key,i);break;
case 3:printf("输入要查询的航班终点站名:");
scanf("%s",key);Seqsearch(l,key,i);break;
航班查询系统
一、
随着信息产业的飞速发展,信息化管理及查询已经引入并应用到各行各业,影响着人们的价值观念与生活方式。因此,要提升企业竞争力,就要大力推进企业信息化建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流,从而提高企业综合实力。该课程设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信息进行查询。
void Seqsearch(sllist l,keytype key[],int i)
{ //顺序查找函数
int j,k,m=0;
printf("*航班号起点站终点站航班期起飞时间到达时间机型票价*\n");
for(j=1;j<=l.length;j++)
{
switch(i)
{
case 1:k=strcmp(key,l.sl[j].keys);break;
printf("%s\t\t",l.sl[k].keys);
printf("%s\t\t",l.sl[k].others.qdz);
printf("%s\t\t",l.sl[k].others.zdz);
printf("%s\t\t",l.sl[k].others.bq);
printf("%s\t\t",l.sl[k].others.qftime);
}
void search(sllist l)
{ //查询菜单控制程序
keytype key[keylen];
int i=1,k;
while(i>=1&&i<=5)
{
putchar('\n');
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" $航班信息查询系统$\n");
4、到达站查询,该模块主要实现通过输入到站地点实现对该趟航班的查询。
5、起飞时间查询,该模块主要实现通过输入起飞时间实现对该趟航班的查询。
三、系统的设计
(一)查询函数
分析:输入要查询的方式,例如:航班号、起点站、终点站、起飞时间、到达时间。该函数的流程图如下图2所示。
图2:查询函数流程图
该模块的具体代码如下所示。
}
if(k==0)
{m=1;
printf("%s\t",l.sl[j].keys);
printf("%s\t",l.sl[j].others.qdz);
printf("%s\t",l.sl[j].others.zdz);
printf("%s\t",l.sl[j].others.bq);
printf("%s\t",l.sl[j].others.qftime);
printf("%s\t",l.sl[j].others.artime);
printf("%s\t",l.sl[j].others.jixing);
printf("%d\t",l.sl[j].others.price);
}
}
if(m==0)
printf("对不起!无此航班信息! \n");
//return k;
printf(" ………………………………………\n");
printf(" $ 1.航班号$\n");
printf(" $ 2.起点站$\n");
printf(" $ 3.终点站$\n");
printf(" $ 4.起飞时间$\n");
printf(" $ 5.到达时间$\n");
printf(" $ 6.退出系统$\n");
case 2:k=strcmp(key,l.sl[j].others.qdz);break;
case 3:k=strcmp(key,l.sl[j].others.zdz);break;
case 4:k=strcmp(key,l.sl[j].others.qftime);break;
case 5:k=strcmp(key,l.sl[j].others.artime);break;
printf("%s\t\t",l.sl[k].others.artime);
printf("%s\t\t",l.sl[k].others.jixing);
printf("%d\t\t",l.sl[k].others.price);
printf("\n");
}break;
case 1:printf("输入要查询的航班号:");
通过对系统功能的分析,航班查询系统功能如图X所示。
图1航班查询系统功能图
通过上图的功能分析,把整个系统划分为5个模块:
1、航班号查询,该模块主要实现通过输入航班号实现对该趟航班的查询。
2、班期查询,该模块主要实现通过输入班期实现对该趟航班的查询。
3、起飞站查询,该模块主要实现通过输入起飞地点实现对该趟航班的查询。
case 4:printf("输入要查询的航班:起飞时间");
scanf("%s",key);
Seqsearch(l,key,i);break;
case 5:printf("输入要查询的航班到达时间:");
scanf("%s",key);
Seqsearch(l,key,i);break;
printf(" ………………………………………\n");
printf("请输入您的选择:");
scanf("%d",&i);
printf("\n");
switch(i)
{
if(k==6)
printf("%对不起!无此航班信息! %\n");
else
{
printf("航班号起点站终点站航班期起飞时间到达时间机型票价\n");
二、系统
(一)系统功能要求
可以输入航班信息系,可采用基数排序法对飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行。
1.航班记录包括:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价。
2.查询航班信息。
(二)系统模块结构设计