航班信息查询与检索系统优选稿

合集下载

航班信息查询系统

航班信息查询系统

《数据结构》课程设计书---飞机订票系统班级:完成人:指导老师:开始时间:完成时间:一、任务内容制作一个简单的飞机订票系统二、功能要求1.录入.可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2.查询.(1)可以查询某个航线的情况(如,输入航班号,查询抵达城市,航班票数信息,是否满仓);(2)可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)(4)退票:可退票,退票后修改相关数据文件;(5)修改航班信息:当航班信息改变可以修改航班数据文件四、源程序清单#include<stdio.h>#include<stdlib.h>#include<string.h>#define FLIGHTAMOUNT 200//最大航班数#define SEATAMOUNT 500//最大座位数struct flightstruct{char flightnumber[20];//航班号char finishingline[20];//终点站char date[20]; //日期unsigned maxamount;//总票数unsigned remainders;//剩余票数unsigned seatstate[SEATAMOUNT];//座位数组,贮存座位信息}flight[FLIGHTAMOUNT];void main(){char flag;//提供选择菜单的变量void open(FILE *fp);//打开文件函数void save(FILE *fp);//保存信息函数void built(FILE *fp);//建立文件函数void manage();//输入、管理信息函数void insert(FILE *fp);//插入信息函数void remend(FILE *fp);//修改信息函数void delet(FILE *fp);//删除信息函数void delet_all(FILE *fp);//删除所有信息函数void scan();//浏览信息函数void select();//查询信息函数void booktickets();//订票函数void print_info(unsigned);//输出打印信息函数void sendbacktickets();//退票函数do{printf("\n\t************************飞机订票系统****************************\n");printf("\n\t----------------------------主菜单-------------------------------\n");printf("\t**************-1--信息管理信息浏览--2-****************\n");printf("\t**************-3--信息查询订票系统--4-****************\n");printf("\t**************-5--退票系统退出系统--0-****************\n");p rintf("\n\t-----------------------------------------------------------------\n");do{scanf("%c",&flag);}while(flag!='1'&&flag!='2'&&flag!='3'&&flag!='4'&&flag!='5'&&flag!='0');switch(flag){case '1':manage();break;case '2':scan();break;case '3':select();break;case '4':booktickets();break;case '5':sendbacktickets();break;case '0':;break;}}while(flag!='0');}/**********打开文件 "flightinfomaition.dat"***********/void open(FILE *fp){unsigned i;if((fp=fopen("flightinfomaition.dat","r"))==NULL)//以只读方式打开{printf(" 打开文件失败!\n");exit(0);}for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0");i++) if(fread(&flight[i],sizeof(struct flightstruct),1,fp)!=1){printf(" 文件读取错误!\n");exit(0);}fclose(fp);}/***********************保存设置*******************/void save(FILE *fp){unsigned i;char incept;printf("是否保存?(Y/N):");do{incept=getchar();}while(!(incept=='Y'||incept=='y'||incept=='N'||incept=='n'));if(incept=='Y'||incept=='y'){if((fp=fopen("flightinfomaition.dat","r+"))==NULL)//以读写方式打开{printf(" 打开文件失败!\n");exit(0);}for(i=0;i<FLIGHTAMOUNT;i++)if(fwrite(&flight[i],sizeof(struct flightstruct),1,fp)!=1){printf(" 保存失败!\n");exit(0);}printf(" 保存成功!\n");}fclose(fp);}/*********************管理信息*********************/void manage(){FILE* fp=NULL;char incept;printf("**************************欢迎进入信息管理系统*********************\n");do{p rintf("\n--------------------------------------------------------------------\n");printf("请选择:\n\t 1--建立新文件\n\t 2--插入信息\n\t 3--修改信息\n\t 4--删除信息\n\t 5--删除全部\n\t 0--退出\n");p rintf("--------------------------------------------------------------------\n");do{incept=getchar();}while(incept!='1'&&incept!='2'&&incept!='3'&&incept!='4'&&incept!='5'&&incept!='0');switch(incept){case '1':built(fp);break;case '2':insert(fp);break;case '3':remend(fp);break;case '4':delet(fp);break;case '5':delet_all(fp);break;case '0':return;}printf("继续进行管理?(Y/N)");do{incept=getchar();}while(!(incept=='Y'||incept=='y'||incept=='N'||incept=='n'));}while(incept=='Y'||incept=='y');}/**********建立一个名为"flightinfomaition.dat"的文件************/void built(FILE*fp){unsigned i,j;//建立一个名为"flightinfomaition.dat"文件,用于存贮航班信息if((fp=fopen("flightinfomaition.dat","w"))==NULL){printf(" 文件建立失败!\n");exit(0);}elseprintf("文件建立成功!\n");//文件信息初始化for(i=0;i<FLIGHTAMOUNT;i++){ //将所有信息内容置为0strcpy(flight[i].flightnumber,"0");strcpy(flight[i].finishingline,"0");strcpy(flight[i].date,"0");flight[i].maxamount=0;for(j=0;j<flight[i].maxamount;j++)flight[i].seatstate[j]=0;}save(fp);//保存所改变的信息insert(fp);//插入航班信息}/***********************插入信息************************/ void insert(FILE *fp){unsigned i;char flightnumber[20];open(fp);//在系统可容纳的数据范围之内循环for(i=0;i<FLIGHTAMOUNT;i++)//当所循环到的位置为空时写入新信息if(strcmp(flight[i].flightnumber,"0")==0){printf("请输入航班号(输入“0”结束):");scanf("%s",flightnumber);if(strcmp(flightnumber,"0")==0)break;else{strcpy(flight[i].flightnumber,flightnumber);printf("请输入终点站 :");scanf("%s",flight[i].finishingline);printf("请输入日期 :");scanf("%s",flight[i].date);printf("请输入总票数 :");do{scanf("%d",&flight[i].maxamount);if(flight[i].maxamount<0||flight[i].maxamount>SEATAMOUNT)printf(" 输入错误!\n 请输入正确的数字:");}while(flight[i].maxamount<0||flight[i].maxamount>SEATAMOUNT);flight[i].remainders=flight[i].maxamount;}}save(fp);}/*******************************修改信息*****************************/void remend(FILE *fp){unsigned i,j,maxamount;char flag;char flightnumber[20],finishingline[20],date[20];open(fp);do{printf("查询航班号?(Y/N):");do{scanf("%c",&flag);}while(!(flag=='y'||flag=='Y'||flag=='N'||flag=='n'));if(flag=='y'||flag=='Y')select(fp);printf("请输入航班号:");scanf("%s",flightnumber);f or(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0")&&strcmp(flight[i].flightnumber, flightnumber);i++);if(!strcmp(flight[i].flightnumber,flightnumber)){printf("输入“0”将不做修改\n");printf("请输入新的航班号:");scanf("%s",flightnumber);if(strcmp(flightnumber,"0"))strcpy(flight[i].flightnumber,flightnumber);printf("请输入新的终点站:");scanf("%s",finishingline);if(strcmp(finishingline,"0"))strcpy(flight[i].finishingline,finishingline);printf("请输入新的时间:");scanf("%s",date);if(strcmp(date,"0"))strcpy(flight[i].date,date);printf("请输入新的票数:");do{scanf("%d",&maxamount);if(maxamount<0||maxamount>SEATAMOUNT){printf("输入错误!请重新输入票数:");}}while(maxamount<0||maxamount>SEATAMOUNT);if(maxamount!=0)flight[i].maxamount=maxamount;flight[i].remainders=flight[i].maxamount;for(j=0;j<flight[i].maxamount;j++)flight[i].seatstate[j]=0;save(fp);}elseprintf("没有找到“%s”次航班!",flightnumber); printf("是否继续?(Y/N):");do{scanf("%c",&flag);}while(!(flag=='y'||flag=='Y'||flag=='N'||flag=='n'));}while(flag=='y'||flag=='Y');}/************************************删除信息***********************************/ void delet(FILE *fp){unsigned i;char flag;char flightnumber[20];open(fp);do{printf("查询航班号?(Y/N):");do{scanf("%c",&flag);}while(!(flag=='y'||flag=='Y'||flag=='N'||flag=='n'));if(flag=='y'||flag=='Y')select(fp);printf("请输入航班号:");scanf("%s",flightnumber);f or(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0")&&strcmp(flight[i].flightnumber, flightnumber);i++);if(!strcmp(flight[i].flightnumber,flightnumber)){for(;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0");i++){strcpy(flight[i].flightnumber,flight[i+1].flightnumber);strcpy(flight[i].finishingline,flight[i+1].finishingline);strcpy(flight[i].date,flight[i+1].date);flight[i].maxamount=flight[i+1].maxamount;flight[i].remainders=flight[i+1].remainders;}printf("删除成功!\n");save(fp);}elseprintf("删除是败!没有找到“%s”航班!",flightnumber);printf("是否继续?(Y/N):");do{scanf("%c",&flag);}while(!(flag=='y'||flag=='Y'||flag=='N'||flag=='n'));}while(flag=='y'||flag=='Y');}/*****************删除所有信息**********************/void delet_all(FILE *fp){char incept;unsigned i,j;printf(" 这个操作将删除所有信息!\n");printf("是否继续?(Y/N)");do{incept=getchar();}while(!(incept=='Y'||incept=='y'||incept=='N'||incept=='n'));if(incept=='Y'||incept=='y'){open(fp);for(i=0;i<FLIGHTAMOUNT;i++){strcpy(flight[i].flightnumber,"0");strcpy(flight[i].finishingline,"0");strcpy(flight[i].date,"0");flight[i].maxamount=0;for(j=0;j<flight[i].maxamount;j++)flight[i].seatstate[j]=0;}save(fp);}}/***************************浏览信息*****************************/void scan(){FILE *fp=NULL;unsigned i;open(fp);printf("***********************欢迎进入信息浏览系统************************************\n\n");printf("序号| 航班号 | 终点站 | 时间 |票数|剩余|\n");for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0");i++){p uts("------------------------------------------------------------------------------");p rintf("%4d|%-20s|%-20s|%-20s|%-4d|%-4d|\n",i+1,flight[i].flightnumber,flight[i].finishing line,flight[i].date,flight[i].maxamount,flight[i].remainders);}puts("------------------------------------------------------------------------------\n");}/*********************查询信息************************************/void select(){FILE *fp=NULL;unsigned i;int j;char incept;char flightnumber[20],finishingline[20],date[20];open(fp);printf("\n*************************欢迎进入信息查询系统*************************\n");do{j=0;p uts("----------------------------------------------------------------------\n");printf("请选择一种查询方式:\n");printf("\t 1--航班号\n\t 2--终点站\n\t 3--时间\n\t 4--浏览全部\n\t 0--退出\n");p uts("----------------------------------------------------------------------\n");do{incept=getchar();}while(!(incept=='1'||incept=='2'||incept=='3'||incept=='4'||incept=='0'));switch(incept){case '1':{printf("请输入航班号:");scanf("%s",flightnumber);for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0")!=0;i++)if(strcmp(flight[i].flightnumber,flightnumber)==0){print_info(i);j=1;}if(j==0)printf("对不起!没有找到“%s”航班.\n",flightnumber);}break;case '2':{printf("请输入终点站:");scanf("%s",finishingline);for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0");i++) if(!strcmp(flight[i].finishingline,finishingline)){print_info(i);j=1;}if(j==0)printf("对不起!飞往“%s”的航班没有找到.\n",finishingline);}break;case '3':{printf("请输入日期:");scanf("%s",date);for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,"0");i++) if(!strcmp(flight[i].date,date)){print_info(i);j=1;}if(j==0)printf("对不起!“%s”的航班没有找到.\n",date);};break;case '4':scan();break;case '0':return;}printf("是否继续查询?(Y/N)");do{incept=getchar();}while(!(incept=='Y'||incept=='y'||incept=='N'||incept=='n'));}while(incept=='Y'||incept=='y');}/*****************用于select函数输出打印提示信息*********************/void print_info(unsigned i){puts("------------------------------------------------------------------------------");printf("序号| 航班号 | 终点站 | 时间 |票数|剩余|\n");puts("------------------------------------------------------------------------------");printf("%4d|%-20s|%-20s|%-20s|%-4d|%-4d|\n",i+1,flight[i].flightnumber,flight[i].finishingline,flight[i].date,flight[i].maxamount,flig ht[i].remainders);puts("------------------------------------------------------------------------------");}/****************************订票函数****************************/void booktickets(){FILE *fp=NULL;unsigned amount,i,j;char flag,flightnumber[20];printf("****************************欢迎进入订票系统******************************\n");do{open(fp);printf("输入“s”查询(任意键跳过):");getchar();//接收上面语句的回车scanf("%c",&flag);if(flag=='s')select(fp);printf("输入“y”退出订票(任意键继续):");getchar();scanf("%c",&flag);if(flag=='y')break;printf("请输入航班号:");scanf("%s",flightnumber);for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,flightnumber);i++);if(!strcmp(flight[i].flightnumber,flightnumber)){if(flight[i].remainders==0)printf("对不起!没有票.\n");else{printf("请输入订票数量:");do{scanf("%d",&amount);if(amount<0||amount>flight[i].remainders)printf(" 输入错误!\n 请输入正确的数据:");}while(amount<0||amount>flight[i].remainders);for(j=0;j<flight[i].maxamount&&(amount--)>0;j++)if(flight[i].seatstate[j]==0){flight[i].seatstate[j]=1;flight[i].remainders--;}save(fp);}}elseprintf("没有找到“%s”航班!\n",flightnumber);printf("是否继续订票?(Y/N):");do{flag=getchar();}while(!(flag=='Y'||flag=='y'||flag=='N'||flag=='n'));}while(flag=='y'||flag=='Y');}/****************************退票函数******************************/void sendbacktickets(){FILE *fp=NULL;unsigned i,j,seatnumber;char flag,flightnumber[20];printf("****************************欢迎进入退票系统***********************\n");do{open(fp);printf("请输入航班号:");scanf("%s",flightnumber);for(i=0;i<FLIGHTAMOUNT&&strcmp(flight[i].flightnumber,flightnumber);i++);if(!strcmp(flight[i].flightnumber,flightnumber)){printf("请输入座位号:");do{scanf("%d",&seatnumber);if(seatnumber<0||seatnumber>flight[i].maxamount)printf("输入错误!\n请重新输入座位号:");}while(seatnumber<0||seatnumber>flight[i].maxamount);for(j=0;j<flight[i].maxamount&&seatnumber!=j+1;j++);if((seatnumber==j+1)&&(flight[i].seatstate[j]==1)){flight[i].seatstate[j]=0;flight[i].remainders++;save(fp);}elseprintf(" 输入错误!\n");}elseprintf(" 没有找到“%s”航班!\n",flightnumber);printf("是否继续退票?(Y/N):");do{flag=getchar();}while(!(flag=='Y'||flag=='y'||flag=='N'||flag=='n'));}while(flag=='y'||flag=='Y');}五、效果图1.主菜单以及信息管理界面2.信息浏览界面3订票系统界面.4.退票系统界面六、总结和体会通过本次实践我们收获颇多。

数据库课程设计-民航航班编排与查询系统

数据库课程设计-民航航班编排与查询系统

数据库课程设计-民航航班编排与查询系统数据库系统概论---民航航班编排与查询系统学生学院_____民航,飞行,学院_学号___________学生姓名_______ _____指导老师_______ _____2010 年 12月 5日1目录1.1需求分析概述---------------------11.2功能需求分析-----------------21.2.1飞机与机组运力管理----------31.2.2航班业务管理----------------41.3信息需求及数据流程----------------51.3.1数据字典-------------------41.3.2数据流图-------------------8 1.4系统概念模型设计-------------------91.4.1基本原则--------------------91.4.2航班编排与查询系统E-R图----101(5数据库逻辑模型设计---------------131.5.1 一般逻辑模型设计原则-------131.5.2具体逻辑模型设计-----------141.5.3源代码--------------------1621.1概述航空公司科学合理的编排航班计划是航班正常的重要保障之一,航班时刻编制是一项细致而复杂的工作,要综合考虑各方面的因素又要权衡利弊,从而制定出既符合旅客符合市场需求,又能充分发挥企业能力的航班运行计划。

航班计划是航空公司经营规划的核心,是航空公司的战略决策,是提高航空公司经济效益的关键。

本系统就是面向航空公司航班编排与查询管理系统,是一种比较智能化的管理系统,能够实现旅客和航空公司用户对航班信息的查询,还可以根据需求安排出科学合理的航班。

本系统采用SQL server 2005网络数据库,语言简单易懂,使得本系统可以方便的和其他子系统进行数据交换,也可以和其他编译程序嵌套使用。

航班信息查询系统 功能模块 - 副本

航班信息查询系统 功能模块 - 副本

航班信息查询系统功能模块:●航线信息的输入,包括航线编号、出发城市、到达城市、飞行距离。

●航信信息的修改、删除,包括出发城市、到达城市、飞行距离。

●航班信息的输入,包括航班编号、出发时间、到达时间、经济舱价格、公务舱价格、头等舱价格。

●航班信息的修改和删除,包括出发时间、到达时间、经济舱价格、公务舱价格、头等舱价格。

●飞机信息的输入,包括客机编号、客机型号、经济舱数量、公务舱数量、头等舱数量。

●飞机信息的修改和删除,包括客机型号、经济舱数量、公务舱数量、头等舱数量。

●客户信息的输入,包括用户名、用户姓名、性别、联系电话、密码等。

●客户信息的修改和删除,包括用户权限、折扣比例。

●航线信息包括的数据项有:航线编号、出发城市、到达城市、飞行距离。

●航班信息包括的数据项有:航班编号、航线编号、客机编号、头等舱价格、公务舱价格、经济舱价格、出发时间、到达时间。

●飞机信息包括的数据项有:客机编号、客机类型、头等舱数量、公务舱数量、经济舱数量。

●客户信息包括的数据项有:用户名、用户姓名、性别、联系电话等。

●机票信息包括的数据项有:机票编号、航班编号、出发日期、用户名等参考文献:1.航班信息查询系统的设计与实现_赵洪峰2.航空-公司信息管理系统-毕业论文-毕业设计3.航空信息管理系统毕业设计20144.基于VB航空公司管理信息系统毕业设计论文(含源文件)5.兰州工程大学航班信息管理系统说明书20146.南京信息工程大学航空公司信息管理系统7.数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)8.武汉理工大学飞机航班信息管理系统9.广东工业大学航班信息管理系统10.航班管理系统。

IAS系统介绍

IAS系统介绍

Contains keyword … 包含关键字
Text Menu Item
按照关键字查找当前列中包含关键字的数据行:
过滤完毕之后,会在该列表头显示如下过滤结果: 鼠标移至表头,会出现如下过滤提示信息:
21
IAS使用说明-基本操作
IAS功能介绍-显示弹出菜单(续过滤功能)
Exclude this value 不包含当前值 Text Menu Item 在某个单元格中点击该菜单将会显示所有在当前列中不等 于该值的数据行,之前的过滤结果会丢失。过滤完毕之 后,会在该列表头显示如下过滤结果: 鼠标移至表头,会出现如下过滤提示信息:
启动并登陆IAS系统-登陆IAS 以下是登陆失败后的界面
提示:由于IAS系统用 户的认证与授权是在 AMOSS中进行的, IAS系统本身不会给出 关于登陆失败的详细 信息,如果发生异常 情况,请及时联系信 息技术管理部协助解 决
9
IAS使用说明-基本操作
启动并登陆IAS系统-登陆IAS 以下是登陆成功后进入IAS系统的主界面:
Exclude this value also 追加过滤值
Text Menu Item
该子菜单项只有在当前列执行过“不包含当前值”功能后才 会出现,提供追加排除过滤值再进行过滤的功能
23
IAS使用说明-基本操作
IAS功能介绍-隐藏或者显示数据列 IAS系统在菜单项中提供了隐藏或者显示数据列的功能
Hide: 隐藏 Text Menu Item 用户可以在某列点击该菜单项来隐藏该列,同时该列数据 也被隐藏
提示:可以将网址保存在浏览器收藏夹内 供下次访问
6
IAS使用说明-基本操作
启动并登陆IAS系统-登陆IAS 以下是IAS系统登陆界面,输入用户名和密码即 可进入:

航班信息查询信息分析

航班信息查询信息分析

航班信息查询系统分析航班信息查询系统当今乘飞机的人越来越多,人们需要关心了解各类航班的班次、时间、价格、机型等信息,设计一个航班信息查询系统,可供人们查询航班信息,该查询系统可按一个或者多个条件查询,航班信息表的部分内容如下:航班号起点站终点站起飞时间机型票价CA1544 合肥北京10:55 733 960 MU5341 上海重庆14:20 M90 1280 CZ3869 广州南京08:55 733 1010 MU3682 深圳桂林20:50 M90 1060 HUI1863 昆明西安10:15 738 1250 一、需求分析(余子轩、包灵美)制作一个航班信息查询系统,能够完整显示航班信息可以通过航班号、机型、起点站、到达站、起飞时间中的一个或多个条件查询并显示航班动态。

要求进入查询系统后,可以按要求选择需要更新的操作,并按提速输入要更新的航班数据,更新操作完成后返回初始界面。

在选择查询时,能显示输入查询条件的界面并提示输入信息(航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号及票价),若输入的信息符合要求则显示相对应的航班信息,否则显示“没有相关航班”并返回输入界面。

如果主要想实现查询功能,就可以采用顺序的存储结构;想实现更新操作,采用链式存储结构;相比之下,这次主要想实现的功能是查询功能,因此采用顺序存储结构。

考虑到此航班信息查询系统查询功能用到的比较多而更新操作使用的比较少,为了使操作简便,程序利用效率高,使用顺序表来存储航班信息。

本系统采用二分查找法、基数排序法、最高位优先法。

二分查找法也称为折半查找法:将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。

如果x<a[n/2],则我们只要在数组a的左半部继续搜索x (这里假设数组元素呈升序排列)。

如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。

基数排序法:其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的比较性排序法。

航班信息的查询与检索课程设计

航班信息的查询与检索课程设计

数据结构与算法课程设计报告题目:航班信息的查询与检索学生姓名学号专业班级指导教师日期元培学院教务处课程设计任务书一、需求分析要解决的问题:设计民航售票处的计算机系统可以为客户提供下列各项服务:1. 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行、;2. 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况。

具体要求:1.对飞机航班信息进行排序和查找,可按航班的航班号,起点站,终点站,班期,起飞时间,到达时间,飞机型号以及票价等。

2. 采用快速排序法对的飞机航班号进行排序。

3.利用二分查找法对排好序的航班记录按航班号查询。

4.每个航班记录包括八项,分别为:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等二、概要设计数据类型的声明:/*头文件以及存储结构*/#include<iostream>#include<fstream>#include<string>int n;using namespace std;class Employee2,表达式的抽象数据类型定义static void twosearch(Employee a[]);//二分查找static void f_by_address(Employee a[],int m);//按起点站/终点站查询static void f_by_time(Employee a[],int m);//按起飞时间/到达时间查询friend void insert(Employee a[]);//添加航班void show()//输出信息void book(Employee a[])//订票系统void quicksort(Employee a[],int low,int high)//-快速排序3. 主程序的流程三、详细设计1.主要代码:friend istream&operator>>(istream&in,Employee&e)//文件输出流{returnin>>e.flight_num>>e.start>>e.end>>e.fly_date>>e.start_time>>e.end_time>>e.flight_type>>e.price>>e.tickets;}friend ostream&operator<<(ostream&out,Employee&e)//文件输入流{returnout<<e.flight_num<<e.start<<e.end<<e.fly_date<<e.start_time<<e.end_time<<e.flight_type<<e.price<<e.tickets ;}void show()//输出信息{cout<<" 航班号起飞站终点站班期起飞时间到达时间机型票价"<<endl;cout<<" "<<flight_num<<" "<<start<<" "<<end<<" "<<fly_date<<""<<start_time<<" "<<end_time<<" "<<flight_type<<" "<<price<<endl;}};//----------快速排序-----------void quicksort(Employee a[],int low,int high){int z,y;Employee key;//定义一个key的类对象,key为关键字if(low<high){z=low;y=high;key=a[low];//把第一个数据复制给key,为关键字while(z!=y){while((z<y)&&(strcmp(key.flight_num,a[y].flight_num)<=0))//当low<high且a[y].flight_num 大于等于关键字y--;//high向前移一位a[z]=a[y];//此时a[y]的值为关键字while((z<y)&&(strcmp(key.flight_num,a[z].flight_num)>=0))//当low<high且a[y].flight_num 小于等于关键字z++;//low向后移一位a[y]=a[z];//此时a[z]的值为关键字}a[z]=key;quicksort(a,low,z-1);//对一边递归调用quicksort()排序quicksort(a,z+1,high);//对另一半递归调用quicksort()排序}}//通过航班号实现二分查找法查找void Employee::twosearch(Employee a[])//二分查找{char num[6];int key=0;cout<<"请输入您要查询的航班号:";cin>>num;int low=0,high=n-1,mid;while(low<=high){mid=(low+high)/2;if(!strcmp(num,a[mid].flight_num))//找到该航班,并输出{a[mid].show();key=1;return;}else if(strcmp(num,a[mid].flight_num)<0)high=mid-1;elselow=mid+1;}if(!key)cout<<" *************对不起,没有您要查找的航班号********** "<<endl; }void insert(Employee a[])//添加航班{char secret[6];int i=3;cout<<"请输入管理员密码:";cin>>secret;if(!strcmp(secret,"12345")){cout<<"请依次录入航班信息数据(航班号由2位大写字母和4位数字组成):"<<endl;ofstream f;//定义文件对象f.open("初始化航班.txt",ios::app);if(f.fail())//打开文件失败{cout<<"打开文件失败!"<<endl;exit(2);}int i=n;while(!f.eof())//直到文件结尾{//int i=sizeof(a)/sizeof(a[0]);cout<<" 航班号起飞站终点站班期起飞时间到达时间机型票价票数"<<endl;cin>>a[i].flight_num>>a[i].start_time>>a[i].end_time>>a[i].start>>a[i].end>>a[i].fly_date>>a[i].flight_ty pe>>a[i].price>>a[i].tickets;f<<a[i];n++;break;//通过文件输入流导入文件} f.close();}elsecout<<"密码错误,请重新登入!"<<endl;}2、函数的调用关系除了主函数main()外,其他各个函数相对于其它函数来说是独立的,函数的使用都由主函数main()调用使用的。

航班信息的查询与检索

航班信息的查询与检索

航班信息的查询与检索航班信息的查询与检索目录 (4)1 概述 (4)1.1 课程设计名称 (4)1.2 课程设计目的 (4)1.3 课程设计内容 (4)2 系统分析 (4)2.1 设计要求 (4)2.2 设计分析 (5)3 概要设计 (5)3.1 系统总流程图 (5)3.2 定义数据类型 (6)3.3 实现排序的各函数的说明....................... 错误!未定义书签。

4 详细设计............................................................. 错误!未定义书签。

4.1 数据类型的定义 ..................................... 错误!未定义书签。

4.2 链式基数排序 (10)4.2.1 一趟数字字符分配函数 ............. 错误!未定义书签。

4.2.2 一趟数字字符的收集函数.......... 错误!未定义书签。

4.2.3 一趟字母字符分配函数 ............. 错误!未定义书签。

4.2.4 一趟字母字符收集 .................... 错误!未定义书签。

4.2.6 链式基数排序函数 .................... 错误!未定义书签。

4.3 重新整理静态链表 (11)4.4 查找算法实现 (12)4.4.1 二分查找函数 (12)4.4.2 顺序查找函数 (13)4.5 输入输出函数 (14)5 运行与测试 (17)6 总结与心得 (20)7 参考文献 (21)8 附录(程序源代码) (21)目录1 概述1.1 课程设计名称航班信息的查询与检索1.2 课程设计目的通过本次实验,掌握数据结构中的几种排序算法和查找算法,了解静态链表的运用,利用上述的算法完成航班信息的查询与检索。

2 系统分析2.1 课程设计内容本课程设计主要是对排序及查找等进行练习,以链式基数排序为主线,利用二分查找和顺序查找等知识,并建立静态链表,完成对航班信息的查询与检索。

航班管理系统

航班管理系统

NO.1航班管理系统•一、题目内容的描述1.航班查询系统飞机航班信息包括:航班号、起点站、终点站、起飞时间、到达时间、机型以及票价,实例如下:设计航班查询系统要求能对飞机航班信息进行增加、删除、排序和查找。

可按航班的航班号、起点站、终点站、起飞时间以及到达时间进行查询。

•二、应用程序功能的详细说明通过建立一个链表来实现航班信息储存功能,每个结点的信息包括航班号、出发地、目的地、出发时间、到达时间、是否经停、价格,并编写功能函数使系统具有插入、查询、删除、更新、排序的功能。

•三、主要模块的算法描述菜单选项菜单选项图航班信息的建立插入信息查询航班:•四、结束语通过此程序的编写我熟悉了链表的运用,链表是本学期学习的重点,灵活性比栈好,可以通过指针实现插入删除等功能,但要注意移动指针的逻辑关系,如果不注意很容易指向了不是你要的地方。

•五、程序的源代码清单#include "stdio.h"#include "stdlib.h"#include "ctype.h"#include "process.h"#include "string.h"#include<iostream>using namespace std;struct flight //定义航班信息结构体{char flight_num[10];char flight_start[20];char flight_destination[20];char flight_takeoff_time[10];char flight_arrive_time[10];char flight_isStop[5];int flight_price;struct flight *next;};void welcome()//显示程序菜单{printf("************************欢迎使用航班管理系统**********************\n");printf("******************************************************************\n");printf("******************************************************************\n"); printf("**********************按下对应数字实现相应功能********************\n");printf("**************************1.创建航班信息**************************\n");printf("**************************2.增加航班信息**************************\n");printf("**************************3.查询航班信息**************************\n");printf("**************************4.删除航班信息**************************\n");printf("**************************0.退出管理系统**************************\n");printf("******************************************************************\n");printf("******************************************************************\n"); printf("************************CopyRight ByKobeLee**********************\n");printf("******************************************************************\n"); }struct flight * InitSystem(int n)//建立航班信息链表{int i;struct flight * head,* p,*s;for(i=1;i<=n;i++){printf("请输入第%d次航班信息:\n",i);if(i==1){p=(struct flight *)malloc(sizeof(struct flight));printf("航班号:");scanf("%s",&p->flight_num);printf("出发地:");scanf("%s",&p->flight_start);printf("目的地:");scanf("%s",&p->flight_destination);printf("起飞时间:");scanf("%s",&p->flight_takeoff_time);printf("到达时间:");scanf("%s",&p->flight_arrive_time);printf("经停:");scanf("%s",&p->flight_isStop);printf("价格:");scanf("%d",&p->flight_price);head->next=p;}else{s=(struct flight * )malloc(sizeof(struct flight));printf("航班号:");scanf("%s",&s->flight_num);printf("出发地:");scanf("%s",&s->flight_start);printf("目的地:");scanf("%s",&s->flight_destination);printf("起飞时间:");scanf("%s",&s->flight_takeoff_time);printf("到达时间:");scanf("%s",&s->flight_arrive_time);printf("经停:");scanf("%s",&s->flight_isStop);printf("价格:");scanf("%d",&s->flight_price);s->next=head->next;head->next=s;}printf("\n");}return head;}int Insert(struct flight *head)//添加航班信息,头插法;{struct flight * p,*pi;pi=(struct flight *)malloc(sizeof(struct flight));//为新添加的航班开辟空间p=head;printf("请输入新添加的航班信息:\n\n");printf("航班号:");scanf("%s",&pi->flight_num);printf("出发地:");scanf("%s",&pi->flight_start);printf("目的地:");scanf("%s",&pi->flight_destination);printf("起飞时间:");scanf("%s",&pi->flight_takeoff_time);printf("到达时间:");scanf("%s",&pi->flight_arrive_time);printf("经停:");scanf("%s",&pi->flight_isStop);printf("价格:");scanf("%d",&pi->flight_price);if(head==NULL){head->next=pi;pi->next=NULL;}else{pi->next=p->next;p->next=pi;}return 0;}void SearchByFlightNum(flight * head){char num[10];printf("请输入航班号:");scanf("%s",&num);if(head->next==NULL){printf("没有航班信息,不能查询,请先创建信息。

航空运输管理系统(定稿)

航空运输管理系统(定稿)
行李计费
免费行李额:计重制:持成人或儿童客票的旅客免费行李额为:头等舱旅客40千克,公务舱旅客30千克,经济舱旅客20千克。持婴儿客票的旅客免费行李额为10千克,最大尺寸不超过115厘米。
计费行李:对非托运和托运行李总重量超过免费额度的部分,按票价10%付费收取逾重行李费。
13.1
通过调查组织机构和对实际功能需求,设计“航空运输管理系统”的总体结构如图13-1所示。
3.客票管理模块设计
客票管理模块功能包括:客票等信息的录入和修改删除,以及相关的查询操作,报表输出。
4.行李管理模块设计
行李管理模块功能包括:行李等信息的录入和修改删除,以及行李计费等相关的查询操作,报表输出。
13.2
数据库应用系统开发设计的首要任务,就是对数据库应用系统在全局性基础上进行全面的总体规划,只有认真细致地搞好总体规划,才能省时,省力,省资金。而总体规划任务的具体化,就是要确立该数据库系统的逻辑模型的总体设计方案,具体确立数据库应用系统所具有的功能,指明各个系统功能模块所承担的任务,特别是要指明数据的输入、输出的要求等。
每件随身携带物品的长、宽、高分别不超过55CM、40CM、20CM。
超过上述重量、件数、体积限制的免费随身携带物品,应作为托运行李托运。
2托运行李
每件行李最大重量不得超过45千克,长、宽、高分别不得超过100CM、60CM、40CM;超过上述规定的行李,应作为货物运输,不能作为行李运输。每件行李最小重量不得低于2千克,长、宽、高分别不得短于30CM、10CM、20CM;不符合上述规定的行李,不能单独作为托运行李运输。
公司编号
名称
管理局
地址
CA
中国国际航空公司
华北管理局
北京首都国际机场

数据结构课程设计航班信息查询与检索

数据结构课程设计航班信息查询与检索

学院名称《数据结构》课程设计报告题目——航班信息查询与检索班级:姓名:时间:2012/12/29---2013/1/5二○一二年十二月二十九日课程设计任务书与成绩评定课题名称航班信息查询与检索Ⅰ、题目的目的和要求:1、设计目的巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。

(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。

(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。

2、设计题目要求:问题描述:该设计要求对飞机航班信息进行排序和查找。

可按航班的航班号、起点站、到达站、起飞时间以与到达时间等信息进行查询。

任务要求:对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因此他们用得较少。

每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以与票价等,假设航班信息表(8条记录)位为航班号,这种航班号关键字可分成两段,即字母和数字。

其余七项输入内容因为不涉与本设计的核心,因此除了票价为数值型外,均定义为字符串即可。

Ⅱ、设计进度与完成情况Ⅲ、主要参考文献与资料[1] 严蔚敏数据结构(C语言版)清华大学出版社1999[2] 严蔚敏数据结构题集(C语言版)清华大学出版社1999[3] 谭浩强C语言程序设计清华大学出版社[4] 与所用编程环境相配套的C语言或C++相关的资料Ⅳ、成绩评定:设计成绩:(教师填写)指导老师:(签字)二○一三年一月五日目录一、概述 (6)二、系统分析 (6)三、概要设计 (6)四、详细设计 (7)1.定义数据类型 (7)2.算法实现 (8)五、测试数据 (10)六、收获与体会 (13)七、参考文献 (13)八、附录 (14)5 / 24一、概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉与和课程相关的各个方面,是一门独立于课程之外的特殊课程。

数据结构课程设计航班信息的查询与检索【范本模板】

数据结构课程设计航班信息的查询与检索【范本模板】

目录第1章概述 (1)第2章设计要求与分析 (2)2。

1设计要求 (2)2.2设计分析 (3)2。

2。

1定义数据类型 (3)2。

2.2实现排序的个函数说明 (3)第3章算法实现 (4)3。

1 一趟分配算法 (4)3。

2 一趟收集算法 (4)3.3 链式基数排序算法 (12)3.4 二分查找的函数定义 (12)第4章程序代码 (13)第5章运行与测试 (21)第6章实验反思 (23)参考文献 (24)第1章概述排序和查找是在数据信息处理中使用频度极高的操作。

为了加快查找的速度,需要先对数据记录按关键字排序。

当今乘飞机旅行的人越来越多,人们需要关心了解各类航班的班次、时间、价格及机型等信息.在这个飞机航班数据的信息模型中,航班号是关键字,而且是具有结构特点的一类关键字。

因为航班号是字母数字混变的,例如CZ3869,这种记录集合是一个适合与多关键字排序的例子。

第2章设计要求与分析2。

1设计要求该设计要求对飞机航班信息进行排序和查找。

可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他词关键字的查找可采用最简单的顺序查找方法进行,因为他们用的较少。

每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等,假设航班信息表如下表所示:其中航班号一项的格式为:其中k0和k1的输入值是航空公司的别称,用两个大写字母表示,后4位为航班表号,这种航班号关键字可分成两段,即字母和数字.其余七项输入内容因为不涉及本设计的核心,因此除了票价为数值型外,均定义为字符串型即可。

2.2设计分析2。

2。

1定义数据类型根据设计要求,我们知道设计中所用到的数据记录只有航班信息,因此要定义行管的数据类型:Typedef struct{Char start[7];Char end[7];Char sche[12];Char time1[5];Char time2[5];Char model[4];Int price;}InfoType;Typedef struct{KeyType keys[keylen];InfoType others;Int next;}SLNode;Typedef struct{SLNode s1[MaxSpace];Int keylen;Int length;}SLList;为了进行基数排列,需要定义在分配和手机操作使用到的指针数组:Typedef int ArrType_n[10];Typedef int ArrType_。

飞机航班信息管理系统

飞机航班信息管理系统

课程论文软件工程题目:飞机航班信息管理系统学院(系):信息工程学院专业班级:通信0803班学生姓名:昌斌指导教师:魏洪涛2010年11月10日摘要近些年来,我国民航事业取得了飞速的发展,与此同时计算机软件技术、数据库技术、信息技术也取得到了长足的发展与广泛的应用。

技术的进步一方面提高了机场信息化的要求、另外一方面也使得企业信息化的环境日益复杂。

本次我的软件工程作业就是应对于机场信息化要求,探讨了在机场复杂的信息化环境下的航班信息管理系统的方法与过程。

一个机场的航班信息,就是这个机场运营的所有航班的实时信息,包括值机信息、登机信息、到港信息、离港信息、行李转盘信息等等,它们为旅客登机转机、亲友接机和各类人员工作提供了必不可少的服务。

而我设计的机场航班管理系统就是用于管理机场航班信息的。

一个好的航班管理系统必须能够合理的规划航班信息,为高效有序地管理组织机场的生产与服务,有效提高机场的运营效率及服务质量,提高机场的赢利与竞争水平,以保证为旅客、航空公司以及机场自身的业务管理提供一致、及时、准确、系统、完整的信息服务功能。

关键字:航班、信息、管理、软件工程目录摘要 (1)1 前言 (1)2 需求分析 (2)2.1 整体分析 (2)2.1.1 对象模型分析 (2)2.1.2 动态模型分析 (3)2.1.3 功能模型分析 (3)3 概要设计 (4)4详细设计 (5)4.1前台管理子系统 (5)4.2后台管理子系统 (5)4.3后台服务子系统 (6)4.4航班信息显示子系统 (6)4.5航班辅助调整子系统 (6)4.6数据库维护子系统 (7)4.7常用表报生成子系统 (8)5数据流图 (9)6功能分析 (10)7 体会 (11)8 参考文献 (12)1 前言近年来随着人们生活水平的提高,出外旅行的人越来越多,而飞机以其舒适、便捷的优点开始成为越来越多旅客的选择。

随着乘机人员的越来越多,一个好的机场信息管理系统变得越来越重要。

航班系统功能需求

航班系统功能需求

航班系统功能需求一、引言航班系统是指能够管理和操作航空公司航班信息和相关业务的系统。

航班系统功能需求的定义和规划对于确保航空公司的正常运营和服务质量至关重要。

本文将介绍航班系统功能需求的一般要求和具体细节。

二、一般要求1.航班计划管理:能够实时管理航班计划,包括新增、修改和删除航班计划。

2.航班查询:提供快速、准确的航班查询功能,包括航班号、起降时间、机型等信息。

3.乘客预订和管理:提供乘客预订航班的功能,包括个人信息录入、座位选择、支付等。

4.航班变更通知:在航班时间变更、取消等情况下,及时通知乘客并进行相应的处理。

5.登机管理:提供乘客登机管理功能,包括登机牌生成、安全检查、航班起降信息查询等。

6.航班信息发布:能够在航班延误、航班取消等情况下,及时向乘客发布相关信息。

三、具体细节1.航班计划管理-能够录入和修改航班计划信息,包括航班号、起降时间、机型、舱位等。

-能够根据航班计划生成乘客预订系统和票务系统的相关信息。

-能够根据航班计划动态更新乘客的登机相关信息。

2.航班查询-能够提供多种查询方式,包括按航班号、按起降时间、按舱位等。

-能够提供实时、快速的查询结果,包括航班状态、机型、残座情况等。

-能够提供航班历史查询功能,方便用户回溯信息。

3.乘客预订和管理-提供乘客预订航班的功能,包括录入乘客个人信息、选择航班和座位、生成订单等。

-能够实时更新航班的座位状态,确保乘客选择的座位有效。

-提供在线支付功能,接受多种支付方式,并能够保护用户支付信息的安全。

4.航班变更通知-在航班时间变更、取消等情况下,能够通过短信、邮件等方式及时通知乘客。

-能够提供相应的处理方案,包括改签、退票、赔偿等。

-能够自动更新相关系统的航班信息,包括预订系统、票务系统等。

5.登机管理-能够与安检系统、航班起降信息系统进行实时联动,确保登机过程顺利进行。

-能够提供登机状态查询功能,帮助乘客了解航班起降情况和登机口信息。

6.航班信息发布-在航班延误、航班取消等情况下,能够及时向乘客发布相关信息。

航班信息管理系统

航班信息管理系统

航班信息管理系统在现代社会,航空运输已经成为人们出行和货物运输的重要方式之一。

随着航空业的迅速发展,航班数量不断增加,航线网络日益复杂,对于航班信息的高效管理变得至关重要。

航班信息管理系统作为航空运营的核心支持系统,承担着确保航班正常运行、提高服务质量和运营效率的重要使命。

航班信息管理系统是一个综合性的软件平台,它涵盖了从航班计划的制定、航班动态的跟踪、旅客信息的管理到资源分配和调度等多个方面。

这个系统就像是一个中枢神经系统,协调着航空公司内部各个部门之间的工作,同时也为旅客和相关合作伙伴提供及时准确的信息。

首先,航班计划的制定是航班信息管理系统的基础功能之一。

航空公司的运营部门需要根据市场需求、航线资源、飞机可用情况等因素,规划出未来一段时间内的航班安排。

这包括航班的起降时间、航线、执飞机型等详细信息。

通过科学合理的航班计划,可以最大程度地提高飞机的利用率,满足旅客的出行需求,同时保证航空公司的运营效益。

在航班计划确定后,航班动态的跟踪和更新就成为了关键环节。

由于各种因素的影响,如天气变化、机械故障、空中交通管制等,航班的实际运行情况往往会与计划有所偏差。

航班信息管理系统能够实时获取这些动态信息,并及时通知相关人员。

对于旅客来说,他们可以通过航空公司的网站、手机应用程序或者机场的显示屏了解到自己所乘坐航班的最新状态,从而合理安排行程。

对于航空公司的工作人员来说,能够根据航班的动态变化及时调整服务安排,如值机柜台的开放时间、登机口的分配等,以确保航班运行的顺畅。

旅客信息的管理也是航班信息管理系统的重要组成部分。

当旅客购买机票后,他们的个人信息、座位选择、特殊服务需求等都会被录入系统。

在值机、登机等环节,工作人员可以通过系统快速获取旅客的信息,为他们提供个性化的服务。

同时,系统还能够对旅客的行程进行跟踪,以便在出现航班变更或延误等情况时,能够及时与旅客取得联系并提供相应的解决方案。

资源分配和调度是航班信息管理系统的另一个关键功能。

航班动态信息查询英文作文

航班动态信息查询英文作文

航班动态信息查询英文作文英文,Flight status information is crucial fortravelers to plan their journeys effectively. Whether it's for business or leisure, knowing the status of your flight can save you from unnecessary stress and inconvenience. Here, I'll provide a comprehensive guide on how to check flight status in both English and Chinese.Firstly, the most common way to check flight status is through airline websites or mobile apps. These platforms offer real-time updates on departure and arrival times, gate changes, and even delays or cancellations. For instance, if you're flying with Delta Airlines, you can simply visit their website or open their app, enter your flight details, and get instant information about your flight.Secondly, there are third-party flight tracking websites and apps that provide similar services. Websites like FlightAware and apps like FlightRadar24 allow users totrack flights worldwide using flight numbers, routes, or even aircraft registration numbers. These platforms utilize data from various sources, including air traffic control and ADS-B receivers, to provide accurate and up-to-date flight status information.Another option is to use airport websites or information boards at the airport itself. Most airports have dedicated sections on their websites where you can enter your flight details and check its status. Additionally, information boards located throughout the airport display real-time updates on flight departures and arrivals. This is particularly useful for passengers who prefer to check the status of their flight upon arrival at the airport.Furthermore, many airlines offer automated phone services for flight status inquiries. By calling theairline's customer service number and following the automated prompts, passengers can obtain the latest information about their flights without having to speak to a representative. This option is convenient for travelerswho may not have access to the internet or prefer not touse mobile apps.Lastly, social media platforms like Twitter can also be a valuable resource for checking flight status. Manyairlines have dedicated Twitter accounts that providetimely updates on flight delays, cancellations, and other important information. By following the airline's official account and enabling notifications, passengers can receive instant alerts about their flights directly on their smartphones.In conclusion, there are several ways to check flight status, ranging from airline websites and mobile apps to third-party tracking services and airport information boards. By utilizing these resources, travelers can stay informed about their flights and avoid potentialdisruptions to their travel plans.中文,航班动态信息对于旅行者来说至关重要,可以帮助他们有效地规划行程。

对飞机航班信息进行排序和查找

对飞机航班信息进行排序和查找

‎验报告姓名:学号:专业:信息技术班级:任课老师:辅导教师:试验编号:试验五小组成员:一、实验项目:班信息 ‎询二、实验目的:班‎信息 ‎序和 找。

三、实验内容:班‎信息 ‎序和 找。

班的‎班号、 、 、‎‎信息 ‎询。

四、需求分析1、 ‎班 序‎;2、 的‎ 信息 ‎ 找;五、概要设计1、 要实现的功能,应该 链表来表示集合,所 需要构造的数 类型为链表和集合。

2、结构体ha‎n gban‎a n{char k[6]; // 班号strin‎g qd; //strin‎g zd; //终strin‎g bq; //班期int btime‎;//int etime‎;//strin‎g jx; // 型int price‎;//票价};//结构体ha‎n gban‎3、 数功‎能简介void initb‎() //创建表b() //输出void c a o() // 找信息() // 班号 ‎找void d() //‎找void d() // 终 ‎找void q() // 班期 找‎void t ime() //‎找void t ime( ) //‎找void x() // 型 找‎void r ice() // 票价 找‎六、详细设计e am>p ace std;a n{char k[6]; //航班号strin‎g qd; //起点站strin‎g zd; //终点站strin‎g bq; //班期int btime‎; //起飞时间int etime‎; //到达时间strin‎g jx; //机型int price‎; //票价};// 体ha‎ngban‎int n=3;a n h[n];void initb‎() // 航班 ‎息表{int l;a n h1;for(int i=0;i<n;i++){ // 航班 ‎息 cout<<" 第"<<i+1<<" 航班 ‎息"<<endl;cout<<" 航班号‎"<<endl;for(int j=0;j<6;j++) cin>>h[i].k[j];cout<<" 起点站‎"<<endl;cin>>h[i].qd;cout<<" 终点站‎"<<endl;cin>>h[i].zd;cout<<" 班期"<<endl;cin>>h[i].bq;cout<<" 起飞时‎间"<<endl;;cout<<" 到达时‎间"<<endl;;cout<<" 机型"<<endl;cin>>h[i].jx;cout<<" 票价"<<endl;;}for(int i=0;i<n-1;i++) // 航班号 ‎序for(int j=0;j<n-i-1;j++){l=2;(l<6){if(h[j].k;}else if(h[j].k[l]==h[j+1].k[l]) l++;;}}}void print‎b() // 航班 ‎息表{for(int i=0;i<n;i++){cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}void findk‎() // 航班号‎查询{=0;cout<<" 航班号‎查询"<<endl;char a[6];cout<<" 要查询‎ 航班号:";for(int i=2;i<6;i++) cin>>a[i];int j;for(int i=0;i<n;i++){j=2;(j<6){if(h[i].k[j]==a[j]) j++;;}if(j==6) {cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";cout<<h[i].pri<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void findq‎d() // 起点站‎查{=0;cout<<" 起点站‎查 :";g k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].qd){cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期 "<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl;for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";cout<<h[i].et<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void findz‎d() // 终点站‎查{=0;cout<<" 终点站‎查 :";g k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].zd){cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void findb‎q() // 班期查‎{=0;cout<<" 班期查‎:";g k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].bq) {cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void findb‎time() // 起飞时‎间查{=0;cout<<" 起飞时‎间查 :";int k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].btime‎) {cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";cout<<h[i].btim<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void finde‎time() // 到达时‎间查{=0;cout<<" 到达时‎间查 :";int k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].etime‎) {cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void findj‎x() // 机型查‎{=0;cout<<" 机型查‎:";g k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].jx) {cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void findp‎rice() // 票价查‎{=0;cout<<" 票价查‎:";int k;cin>>k;for(int i=0;i<n;i++){if(k==h[i].price‎) {cout<<"第"<<i+1<<" 航班 要‎查 航班‎"<<endl;count‎++;cout<<"第"<<i+1<<" 航班 ‎息"<<endl;cout<<"航班号 "<<" "<<"起点站 "<<" "<<"终点站 "<<"班期"<<"起飞时间"<<" "<<"到达时间"<<" "<<"机型 "<<" "<<"票价 "<<endl; for(int j=0;j<6;j++) cout<<h[i].k[j];cout<<" ";cout<<h[i].qd<<" ";cout<<h[i].zd<<" ";cout<<h[i].bq<<" ";<<" ";<<" ";cout<<h[i].jx<<" ";<<" ";cout<<endl;}}if(count‎==0) cout<<" 要‎求 航班"<<endl<<endl;}void chazh‎ao() //查 息{cout<<" 菜单2 "<<endl;cout<<"1. 航班号查‎"<<endl;cout<<"2. 起点站查‎"<<endl;cout<<"3. 终点站查‎"<<endl;cout<<"4. 班期查 ‎"<<endl;cout<<"5. 起飞时间‎查 "<<endl;cout<<"6. 到达时间‎查 "<<endl;cout<<"7. 机型查 ‎"<<endl;cout<<"8. 票价查 ‎"<<endl;cout<<"9.回到菜单1‎"<<endl;cout<<" 选择:"<<endl;//菜单2int k2;(cin>>k2){();d();d();q();t ime();t ime();x();r ice();;cout<<" 菜单2 "<<endl;cout<<"1. 航班号查‎"<<endl;cout<<"2. 起点站查‎"<<endl;cout<<"3. 终点站查‎"<<endl;cout<<"4. 班期查 ‎"<<endl;cout<<"5. 起飞时间‎查 "<<endl;cout<<"6. 到达时间‎查 "<<endl;cout<<"7. 机型查 ‎"<<endl;cout<<"8. 票价查 ‎"<<endl;cout<<"9.回到菜单1‎"<<endl;cout<<" 选择:"<<endl;//菜单2}}int main(){int k1;cout<<"************航班 息查‎询**************"<<endl<<endl; cout<<"菜单1 "<<endl;cout<<"1. 航‎班表, 航班号‎ 序"<<endl;cout<<"2. 航班表‎"<<endl;cout<<"3.查 航班"<<endl;cout<<"4.退 程序"<<endl<<" 选择:";//菜单1(cin>>k1){();b();a o();;cout<<" 菜单1 "<<endl;cout<<"1. 航‎班表, 航班号‎ 序"<<endl;cout<<"2. 航班表‎"<<endl;cout<<"3.查 航班"<<endl;cout<<"4.退 程序"<<endl<<" 选择:";//菜单1}}}七、 、 分析 ‎ 果1、 试结 ‎析;、 序的 试‎过九、 验总验航‎班查询 ‎程中, ‎‎ , ‎‎‎ 程中 ‎‎ 序‎, 查‎‎ 练 ‎到 ‎ 程 ‎要 程序 ‎ 到 程‎序 程中‎‎方便,效果 好。

航班信息查询课程设计

航班信息查询课程设计

航班信息查询 课程设计一、课程目标知识目标:1. 学生能理解航班信息查询的基本概念和重要性。

2. 学生掌握航班信息查询的基本步骤和所需的关键信息。

3. 学生了解航班信息查询中涉及到的地理、数学和时间知识。

技能目标:1. 学生能够熟练运用计算机及相关软件进行航班信息查询。

2. 学生能够分析航班信息,准确判断航班的状态(如延误、取消等)。

3. 学生能够运用所学知识解决实际生活中的航班信息查询问题。

情感态度价值观目标:1. 培养学生对航班信息查询的兴趣,激发学生学习信息技术的热情。

2. 培养学生的团队协作意识,让学生在合作中共同解决问题。

3. 引导学生树立正确的价值观,尊重信息,遵循道德规范进行信息查询。

本课程针对年级:初中二年级课程性质:信息技术与地理、数学等学科的交叉课程,以实用性为主,注重培养学生的实际操作能力和解决问题的能力。

学生特点:具有一定的计算机操作基础,对新鲜事物充满好奇,具备一定的合作能力。

教学要求:结合学生的年龄特点和知识水平,通过实际操作、案例分析等教学方法,使学生在轻松愉快的氛围中掌握航班信息查询的方法,提高学生的信息技术素养。

同时,关注学生的情感态度价值观的培养,使学生在学习过程中形成正确的价值观和积极的学习态度。

教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 航班信息查询的基本概念- 航班的定义与分类- 航班信息的组成要素2. 航班信息查询的步骤与方法- 航班查询的常用网站与软件介绍- 航班查询的基本步骤- 航班信息的筛选与解读3. 航班信息查询中的实用技巧- 如何快速查找航班信息- 如何判断航班状态- 如何应对航班延误或取消4. 航班信息查询在实际生活中的应用- 案例分析:出行计划制定- 案例分析:航班延误或取消的应对策略教学内容安排与进度:第一课时:航班信息查询的基本概念与分类第二课时:航班信息查询的步骤与方法第三课时:航班信息查询中的实用技巧第四课时:航班信息查询在实际生活中的应用教材关联:本教学内容与《信息技术》课本第八章“网络应用”相关,涉及航班信息查询的实践操作和案例分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

航班信息查询与检索系统集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)课程设计报告课程设计名称:数据结构课程设计题目:设计并实现一个航班信息查询与检索系统院系:计算机学院专业:班级:学号:姓名:指导教师:学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。

尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。

与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。

报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。

本人签名: 日期:年月日课程设计名称数据结构课程设计专业学生姓名班级学号题目名称设计并实现一个航班信息查询与检索系统目录1、题目介绍设计一个航班信息查询与检索系统。

可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信息进行查询。

2、课程设计要求1、每个航班记录包括八项:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价。

如下表所示:2、对航班信息进行排序与查找。

3、概要设计3.1、设计思路根据题目所要求,程序必须实现航班信息的录入和查询。

程序首先定义了一个储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后执行数据查询和检索。

在查询设计中,使用折半查找法对排好序的航班号数据实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。

3.2、流程图44.1 . 定义数据类型根据设计要求,设计中所用到的数据记录只有航班信息,因此要定义相关的数据类型:typedef struct {char start[6]; //起点站char end[6]; //终点站char sche[10]; //班期char time1[5]; //起飞时间char time2[5]; //到达时间char model[4]; //机型int price; //票价}info; //航班记录类型typedef struct{char keys[keylen]; //关键字info others;int next;}slnode; //表结点typedef struct{slnode sl[maxspace];int keynum; //关键字长int length; //当前表长}sllist; //静态链表类型为了进行基数排序,需要定义在分配和收集操作时用到的指针数组:typedef int arrtype_n[10]; //十进制数字指针数组typedef int arrtype_c[26]; //26个字母指针数组4.2 . 函数描述void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e){int j,p;for(j=0;j<10;j++){f[j]=e[j]=0;}for(p=sl[0].next;p;p=sl[p].next){j=sl[p].keys[i]%48; //将数字字符转化为对应的数值型数字if(!f[j])f[j]=p;elsesl[e[j]].next=p;e[j]=p; //将p指向的结点插入到第j个结点}}void collect(slnode *sl,int i,arrtype_n f,arrtype_n e){int j,t;for(j=0;!f[j];j++); //找第一个非空子表sl[0].next=f[j];t=e[j];while(j<10-1){for(j=j+1;j<10-1&&!f[j];j++); //找下一个非空子表if(f[j]){sl[t].next=f[j];t=e[j];} //链接两个非空子表}sl[t].next=0;}链式基数排序算法void radixsort(sllist &l){int i;arrtype_n fn,en;arrtype_c fc,ec;for(i=0;i<l.length;i++)l.sl[i].next=i+1;l.sl[l.length].next=0; //将普通的线性表改为静态链表for(i=l.keynum-1;i>=2;i--) //按最低位优先依次对各关键字进行分配和收集{distribute(l.sl,i,fn,en);collect(l.sl,i,fn,en);}for(i=1;i>=0;i--){distribute_c(l.sl,i,fc,ec);collect_c(l.sl,i,fc,ec);}}void arrange(sllist &l) //按指针链表整理静态链表{int p,q,i;slnode temp;p=l.sl[0].next;for(i=1;i<l.length;i++){while(p<i)p=l.sl[p].next;q=l.sl[p].next;if(p!=i){temp=l.sl[p];l.sl[p]=l.sl[i];l.sl[i]=temp; //交换记录l.sl[i].next=p;}p=q;}}折半查找函数定义int binsearch(sllist l,char key[]){int low,high,mid;low=1;high=l.length;while(low<=high){mid=(low+high)/2;if(strcmp(key,l.sl[mid].keys)==0)return mid;else if(strcmp(key,l.sl[mid].keys)<0)high=mid-1;elselow=mid+1;}return 0;}5、测试数据编译后运行,显示:录入信息^_^航班号起点站终点站班期起飞时间到达时间机型票价录入:CA1544合肥北京1055 1240 733 960显示:是否继续?y/n:录入:y显示:航班号起点站终点站班期起飞时间到达时间机型票价录入:MU5341 上海广州每日1420 1615 M90 1280显示:是否继续?y/n:录入:y显示:航班号起点站终点站班期起飞时间到达时间机型票价录入:CZ3869 重庆深圳 2.4.6 0855 1035 733 1010显示:是否继续?y/n:录入:n录入航班信息后,屏幕显示:-------------------------------* 航班信息查询系统 *-------------------------------* 1.航班号 ** 2.起点站 ** 3.终点站 ** 4.起飞时间 ** 5.到达时间 ** 0.退出 *-----------------------------(0-5)号服务项目:录入:1显示:输入要查询的航班号(字母要大写):录入:CA1544显示:航班号起点站终点站班期起飞时间到达时间机型票价CA1544合肥北京 1055 1240 733 960录入:2显示:输入要查询的航班起点站:录入:合肥显示:航班号起点站终点站班期起飞时间到达时间机型票价显示:CA1544合肥北京1055 1240 733 960录入:2显示:输入要查询的航班起点站:录入:广州显示:附录源程序:#include <stdio.h>#include <string.h>#define max 100#define keylen 7typedef struct{char start[6];char end[6];char sche[10];char time1[5];char time2[5];char model[4];int price;}info;typedef struct{char keys[keylen];info others;int next;}slnode;typedef struct{slnode sl[max];int keynum;int length;}sllist;typedef int arrtype_n[10];typedef int arrtype_c[26];void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e) {int j,p;for(j=0;j<10;j++){f[j]=e[j]=0;}for(p=sl[0].next;p;p=sl[p].next){j=sl[p].keys[i]%48;if(!f[j])f[j]=p;elsesl[e[j]].next=p;e[j]=p;}}void collect(slnode *sl,int i,arrtype_n f,arrtype_n e){int j,t;for(j=0;!f[j];j++);sl[0].next=f[j];t=e[j];while(j<10-1){for(j=j+1;j<10-1&&!f[j];j++);if(f[j]){sl[t].next=f[j];t=e[j];}}sl[t].next=0;}void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e) {int j,p;for(j=0;j<26;j++){f[j]=e[j]=0;}for(p=sl[0].next;p;p=sl[p].next){j=sl[p].keys[i]%65;if(!f[j])f[j]=p;elsesl[e[j]].next=p;e[j]=p;}}void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e) {int j,t;for(j=0;!f[j];j++);sl[0].next=f[j];t=e[j];while(j<26-1){for(j=j+1;j<26-1&&!f[j];j++);if(f[j]){sl[t].next=f[j];t=e[j];}}sl[t].next=0;}void radixsort(sllist &l){int i;arrtype_n fn,en;arrtype_c fc,ec;for(i=0;i<l.length;i++)l.sl[i].next=i+1;l.sl[l.length].next=0;for(i=l.keynum-1;i>=2;i--){distribute(l.sl,i,fn,en);collect(l.sl,i,fn,en);}for(i=1;i>=0;i--){distribute_c(l.sl,i,fc,ec);collect_c(l.sl,i,fc,ec);}}void arrange(sllist &l){int p,q,i;slnode temp;p=l.sl[0].next;for(i=1;i<l.length;i++){while(p<i)p=l.sl[p].next;q=l.sl[p].next;if(p!=i){temp=l.sl[p];l.sl[p]=l.sl[i];l.sl[i]=temp;l.sl[i].next=p;}p=q;}}int binsearch(sllist l,char key[]){int low,high,mid;low=1;high=l.length;while(low<=high){mid=(low+high)/2;if(strcmp(key,l.sl[mid].keys)==0)return mid;else if(strcmp(key,l.sl[mid].keys)<0)high=mid-1;elselow=mid+1;}return 0;}void seqsearch(sllist l,char key[],int i){int j,k,m=0;printf("------------------------------------------------------------\n");printf(" 航班号起点站终点站班期起飞时间到达时间机型票价 \n");for(j=1;j<=l.length;j++){switch(i){case 2:k=strcmp(key,l.sl[j].others.start);break;case 3:k=strcmp(key,l.sl[j].others.end);break;case 4:k=strcmp(key,l.sl[j].others.time1);break;case 5:k=strcmp(key,l.sl[j].others.time2);break;}if(k==0){m=1;printf(" %-8s%-7s%-7s%-11s%-6s%-6s%5s%4d\n",l.sl[j].keys,l.sl[j].others.start,l.sl[j].others.end,l.sl[j ].others.sche,l.sl[j].others.time1,l.sl[j].others.time2,l.sl[j] .others.model,l.sl[j].others.price);}}if(m==0)printf(" 无此航班信息,可能是输入错误! \n");printf("-------------------------------------------------------\n");}void searchcon(sllist l){char key[keylen];int i=1,k;while(i>=1&&i<=5){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);printf("\n");switch(i){case 1:printf("输入要查询的航班号(字母要大写):");scanf("%s",key);k=binsearch(l,key);printf("--------------------------------------------------------------\n");if(k==0)printf(" 无此航班信息,可能是输入错误! \n");else{printf(" 航班号起点站终点站班期起飞时间到达时间机型票价 \n");printf(" %-8s%-7s%-7s%-11s%-6s%-6s%-5s%4d\n",l.sl[k].keys,l.sl[k].others.start,l.sl[k].others.end,l.sl[k].others.sche,l.sl[k].others.time1,l.sl[k].others.time2,l.sl[k] .others.model,l.sl[k].others.price);}printf("--------------------------------------------------------------\n");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",key);seqsearch(l,key,i);break;case 0:printf("\n\n宝宝走了\n\n");}}}void inputdata(sllist &l){int i=++l.length;char yn='y';while(yn=='y'||yn=='Y'){printf("信息录入^_^\n\n");printf("航班号起点站终点站班期起飞时间到达时间机型票价\n");scanf("%s %s %s %s %s %s %s %d",l.sl[i].keys,l.sl[i ].others.start,l.sl[i].others.end,l.sl[i].others.sche,l.sl[i].o thers.time1,l.sl[i].others.time2,l.sl[i].others.model,&l.sl[i]. others.price);++i;getchar();radixsort(l);arrange(l);printf("是否继续\ny/n:");scanf("%c",&yn);}l.length=i-1;}void main(){sllist l;l.keynum=6;l.length=0;inputdata(l);searchcon(l);}。

相关文档
最新文档