航班查询系统
航班信息查询系统

某公司每天有10航班(航班号、价格),每个航班的飞机,共有80个坐位,分20排,每排4个位子。
编号为A,B,C,D。
如座位号:10D表示10排D座。
设计一程序,完成以下功能:1)1)订票:输入乘客的姓名、身份证号、航班号、乘坐日期,座位号,完成订票功能(一次只能预定一张机票)。
需要判断航班号是否存在,身份证号的长度是否为15位或18位,判断座位号是否为航班上正确的座位号,座位号是否已经被其他顾客预定,乘坐日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)))2)2)退票:输入乘客的姓名、航班号、日期,完成退票功能。
需要判断该乘客是否已经订购了该日期的该航班)(不考虑航班飞机是否已经起飞,认为任何时候都可以退票)3)3)查询指定航班、指定日期的乘客信息4)4)查询指定航班的飞机票的销售额5)5)查询指定身份证号的顾客的乘坐飞机历史。
提示:●l定义一个日期结构体保存日期,具体信息为:年、月、日●l判断乘坐日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。
判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。
●l定义一个结构体数组保存航班信息,具体为:航班号、价格●l定义一个结构体保存座位号,具体为:排,座●l定义一个订票链表,保存订票信息,具体为:乘客的姓名、身份证号、航班号、乘坐日期,座位号。
输入时,判断排号是否大于0 小于等于20 ,座号是否为A、B、C、D, 同时需要查询订票链表,是否存在相同乘坐日期、相同航班、相同座位号的记录,如果有则表示已经预定,如果没有则插入订票链表●l退票时,需要从输入身份证号、航班号、乘坐日期,查询订票链表,如果在该记录,则删除,#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#define N 10typedef struct{int year;int month;int day;}DATE;typedef struct{char no[5];int price;}FLUG;FLUGflug[N]={{"A01",100},{"A02",100},{"A03",120},{"A04",120},{"A05",150}, {"A06",150},{"A07",180},{"A08",180},{"A09",200},{"A10",200}};typedef struct{int row;char col;}SEAT;typedef struct node{char name[20];char id[20];char flugNo[5];DATE date;SEAT seat;struct node *next;}TICKET;TICKET *head=NULL;//将日期字符串转换为日期型数据DATE strToDate(char strDate[]){DATE date;date.year=atoi(&strDate[0]);date.month=atoi(&strDate[5]);date.day=atoi(&strDate[8]);return date;}//检查日期是否合法int checkDate(char strDate[]){DATE date;if(strlen(strDate)!=10||strDate[4]!='-'||strDate[7]!='-')return 0;date=strToDate(strDate);if(date.month<1||date.month>12)return 0;if((date.year%4==0&&date.year%100!=0)||(date.year%400==0)){if(date.month==2&&date.day>29)return 0;}else{if(date.month==2&&date.day>28)return 0;}switch(date.month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(date.day>31) return 0;case 4:case 6:case 9:case 11:if(date.day>30) return 0;}return 1;}void printMenu(){//clrsrc();printf("\n\n\n");printf("--------------------------------------------------------------\n");printf(" 1、订票\n");printf(" 2、退票\n");printf(" 3、查询指定航班、指定日期的乘客信息\n");printf(" 4、查询指定航班的飞机票的销售额\n");printf(" 5、查询指定身份证号的顾客的乘坐飞机历史\n");printf(" 6、退出系统\n");printf("--------------------------------------------------------------\n");printf("请选择(1~5):");}TICKET *insert(TICKET *t){TICKET *p;if(head==NULL){head=t;t->next=NULL;}else{p=head->next;head=t;t->next=p;}return head;}TICKET *delete(TICKET *t){TICKET *p;for(p=head;p->next!=t;p=p->next);p->next=t->next;free(t);return head;}void booking(){TICKET *ticket,*p;int i;char strDate[20],str[10];ticket=(TICKET *)malloc(sizeof(TICKET));printf("输入姓名:");scanf("%s",ticket->name);do{printf("输入身份证号:");scanf("%s",ticket->id);if(strlen(ticket->id)==15||strlen(ticket->id)==18)break;printf("身份证位数错误!");}while(1);do{printf("输入航班号:");scanf("%s",ticket->flugNo);for(i=0;i<N;i++){if(strcmp(flug[i].no,ticket->flugNo)==0)break;}if(i<N)break;printf("指定航班号不存在!");}while(1);do{printf("输入乘坐日期:");scanf("%s",strDate);if(checkDate(strDate)==1)break;printf("日期格式错误!");}while(1);ticket->date=strToDate(strDate);do{printf("输入座位号(如:10D):");scanf("%s",str);ticket->seat.row=atoi(str);if(ticket->seat.row<0||ticket->seat.row>20){printf("排数错误!");continue;}ticket->seat.col=str[strlen(str)-1];if('A'>ticket->seat.col||'D'<ticket->seat.col){printf("列数错误!");continue;}for(p=head;p!=NULL;p=p->next){if(ticket->date.year==p->date.year&&ticket->date.month==p->da te.month&&ticket->date.day==p->date.day){if(strcmp(ticket->flugNo,p->flugNo)==0){if(ticket->seat.row==p->seat.row&&ticket->seat.col==p->seat.c ol){printf("座位已被预订!");continue;}}}}insert(ticket);printf("订票成功!");break;}while(1);}void refund(){TICKET *ticket,*p;int i;char strDate[20],str[10];ticket=(TICKET *)malloc(sizeof(TICKET));printf("输入姓名:");scanf("%s",ticket->name);do{printf("输入航班号:");scanf("%s",ticket->flugNo);for(i=0;i<N;i++){if(strcmp(flug[i].no,ticket->flugNo)==0)break;}if(i<N)break;printf("指定航班号不存在!");}while(1);do{printf("输入乘坐日期:");scanf("%s",strDate);if(checkDate(strDate)==1)break;printf("日期格式错误!");}while(1);ticket->date=strToDate(strDate);for(p=head;p!=NULL;p=p->next){if(strcmp(ticket->name,p->name)==0){if(strcmp(ticket->flugNo,p->flugNo)==0){if(ticket->date.year==p->date.year&&ticket->date.month==p->da te.month&&ticket->date.day==p->date.day){delete(p);}}}}printf("无此订票信息!");return;}void passenger(){TICKET *p;for(p=head;p!=NULL;p=p->next){printf("%s,",p->name);printf("%s,",p->id);printf("%d-%d-%d,",p->date.year,p->date.month,p->date.day);printf("%s,",p->flugNo);printf("%d%c",p->seat.row,p->seat.col);}}void main(){char strDate[20];DATE date;int c;do{printMenu();scanf("%d",&c);if(c==1){booking();}if(c==2){refund();}if(c==3){passenger();}if(c==6){exit(0);}}while(1);}#include <stdio.h> #include <string.h>#include <stdlib.h>#include <conio.h>#define N 10typedef struct{int year;int month;int day;}DATE;typedef struct{char no[5];int price;}FLUG;FLUGflug[N]={{"A01",100},{"A02",100},{"A03",120},{"A04",120},{"A05",150}, {"A06",150},{"A07",180},{"A08",180},{"A09",200},{"A10",200}};typedef struct{int row;char col;}SEAT;typedef struct node{char name[20];char id[20];char flugNo[5];DATE date;SEAT seat;struct node *next;}TICKET;TICKET *head=NULL;//将日期字符串转换为日期型数据DATE strToDate(char strDate[]){DATE date;date.year=atoi(&strDate[0]);date.month=atoi(&strDate[5]);date.day=atoi(&strDate[8]);return date;}//检查日期是否合法int checkDate(char strDate[]){DATE date;if(strlen(strDate)!=10||strDate[4]!='-'||strDate[7]!='-')return 0;date=strToDate(strDate);if(date.month<1||date.month>12)return 0;if((date.year%4==0&&date.year%100!=0)||(date.year%400==0)){if(date.month==2&&date.day>29)return 0;}else{if(date.month==2&&date.day>28)return 0;}switch(date.month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(date.day>31) return 0;case 4:case 6:case 9:case 11:if(date.day>30) return 0;}return 1;}void printMenu(){//clrsrc();printf("\n\n\n");printf("--------------------------------------------------------------\n");printf(" 1、订票\n");printf(" 2、退票\n");printf(" 3、查询指定航班、指定日期的乘客信息\n");printf(" 4、查询指定航班的飞机票的销售额\n");printf(" 5、查询指定身份证号的顾客的乘坐飞机历史\n");printf(" 6、退出系统\n");printf("--------------------------------------------------------------\n");printf("请选择(1~5):");}TICKET *insert(TICKET *t){TICKET *p;if(head==NULL){head=t;t->next=NULL;}else{p=head->next;head=t;t->next=p;}return head;}TICKET *delete(TICKET *t){TICKET *p;for(p=head;p->next!=t;p=p->next);p->next=t->next;free(t);return head;}void booking(){TICKET *ticket,*p;int i;char strDate[20],str[10];ticket=(TICKET *)malloc(sizeof(TICKET));printf("输入姓名:");scanf("%s",ticket->name);do{printf("输入身份证号:");scanf("%s",ticket->id);if(strlen(ticket->id)==15||strlen(ticket->id)==18)break;printf("身份证位数错误!");}while(1);do{printf("输入航班号:");scanf("%s",ticket->flugNo);for(i=0;i<N;i++){if(strcmp(flug[i].no,ticket->flugNo)==0)break;}if(i<N)break;printf("指定航班号不存在!");}while(1);do{printf("输入乘坐日期:");scanf("%s",strDate);if(checkDate(strDate)==1)break;printf("日期格式错误!");}while(1);ticket->date=strToDate(strDate);do{printf("输入座位号(如:10D):");scanf("%s",str);ticket->seat.row=atoi(str);if(ticket->seat.row<0||ticket->seat.row>20){printf("排数错误!");continue;}ticket->seat.col=str[strlen(str)-1];if('A'>ticket->seat.col||'D'<ticket->seat.col){printf("列数错误!");continue;}for(p=head;p!=NULL;p=p->next){if(ticket->date.year==p->date.year&&ticket->date.month==p->da te.month&&ticket->date.day==p->date.day){if(strcmp(ticket->flugNo,p->flugNo)==0){if(ticket->seat.row==p->seat.row&&ticket->seat.col==p->seat.c ol){printf("座位已被预订!");continue;}}}}insert(ticket);printf("订票成功!");break;}while(1);}void refund(){TICKET *ticket,*p;int i;char strDate[20],str[10];ticket=(TICKET *)malloc(sizeof(TICKET));printf("输入姓名:");scanf("%s",ticket->name);do{printf("输入航班号:");scanf("%s",ticket->flugNo);for(i=0;i<N;i++){if(strcmp(flug[i].no,ticket->flugNo)==0)break;}if(i<N)break;printf("指定航班号不存在!");}while(1);do{printf("输入乘坐日期:");scanf("%s",strDate);if(checkDate(strDate)==1)break;printf("日期格式错误!");}while(1);ticket->date=strToDate(strDate);for(p=head;p!=NULL;p=p->next){if(strcmp(ticket->name,p->name)==0){if(strcmp(ticket->flugNo,p->flugNo)==0){if(ticket->date.year==p->date.year&&ticket->date.month==p->da te.month&&ticket->date.day==p->date.day){delete(p);}}}}printf("无此订票信息!");return;}void passenger(){TICKET *p;for(p=head;p!=NULL;p=p->next){printf("%s,",p->name);printf("%s,",p->id);printf("%d-%d-%d,",p->date.year,p->date.month,p->date.day);printf("%s,",p->flugNo);printf("%d%c",p->seat.row,p->seat.col);}}void main(){char strDate[20];DATE date;int c;do{printMenu();scanf("%d",&c);if(c==1){booking();}if(c==2){refund();}if(c==3){passenger();}if(c==6){exit(0);}}while(1);}。
航空公司航班信息管理系统设计

航空公司航班信息管理系统设计一、航空公司航班信息管理系统设计航空公司是一个庞大的运行系统,需要有效的管理和跟踪航班信息。
为了满足这个需求,设计一个高效的航班信息管理系统是至关重要的。
本文将详细介绍航空公司航班信息管理系统的设计。
二、系统概述航空公司航班信息管理系统是一个集中管理和监控航班信息的系统。
它主要包括航班信息录入、查询和统计分析等功能。
通过该系统,航空公司能够实时查看航班信息、管理航班计划、进行航班调度和安排,并提供准确的航班信息给乘客和其他相关人员。
三、系统功能设计航空公司航班信息管理系统具备以下功能:1.航班信息录入:系统操作员可以录入航班信息,包括出发地、目的地、起飞时间、到达时间、航班号、机型等。
录入信息时要求填写必要的信息,并对信息进行有效性检查。
2.航班信息查询:系统用户可以通过航班号、出发地、目的地、起飞时间等关键字进行航班信息查询。
查询结果包括航班详情、机型、座位数、预计到达时间等。
3.航班信息统计:系统能够根据时间段、航班号等维度进行航班信息统计和分析。
统计结果可以通过图表和报表的形式展示,方便航空公司管理层对航班数据进行分析和决策。
4.航班状态更新:系统能够及时更新航班的状态信息,如航班延误、取消等。
系统会自动发送通知给相关人员,如机组人员、地面服务人员以及乘客。
5.乘客信息管理:系统可以管理乘客的个人信息、预订记录和乘坐航班的记录。
乘客可以通过系统进行航班预订、座位选择和票务管理。
6.机组信息管理:系统可以管理机组人员的信息和排班情况。
系统可以根据航班计划自动生成机组排班,并实时更新机组人员的航班信息。
四、系统设计与实现航空公司航班信息管理系统采用客户端-服务器架构进行设计与实现。
具体实现方式可以采用Java或C#等编程语言开发,使用MySQL等数据库存储航班信息和乘客信息。
系统的客户端包括操作员端和乘客端。
操作员端提供录入、查询和统计分析等功能;乘客端提供航班查询、订票、座位选择、退票等功能。
航班查询系统

航班查询系统(代码+截图)程序源代码:# include <stdio.h># include<stdlib.h># include <ctype.h>#include <string.h># include<process.h># include <conio.h># define Null 0struct flight{charfltNum[15];charStartingPoint [20];char Terminal [20];charDepartureTime[8];charArrivalTime[8];charAircraftType[10];int price;struct flight * next;};void print(){printf("**************欢迎光临航班查询系统******************\n"); printf("|--------------------------------------------------|\n");printf("| 请输入选项编号(0-8)|\n");printf("|--------------------------------------------------|\n");printf("| 1--录入航班信息|\n");printf("| 2--添加新航班信息|\n");printf("| 3--删除航班信息|\n");printf("| 4--排序航班信息|\n");printf("| 5--浏览所有航班信息|\n");printf("| 6--查询航班信息|\n");printf("| 7--退出航班查询系统|\n");printf("|--------------------------------------------------|\n");}struct flight * init(int n){int i;struct flight *head,*p,*s;for(i=1;i<=n;i++){printf("航班号起点站终点站起飞时间到达时间机型价格\n");if(i==1){p=(struct flight*) malloc(sizeof(struct flight));scanf("%s",&p->fltNum);scanf("%s",&p->StartingPoint);scanf("%s",&p->Terminal);scanf("%s",&p->DepartureTime);scanf("%s",&p->ArrivalTime);scanf("%s",&p->AircraftType);scanf("%d",&p->price);head=p;getchar();}else{s=(struct flight*) malloc(sizeof(struct flight));scanf("%s",&s->fltNum);scanf("%s",&s->StartingPoint);scanf("%s",&s->Terminal);scanf("%s",&s->DepartureTime);scanf("%s",&s->ArrivalTime);scanf("%s",&s->AircraftType);scanf("%d",&s->price);p->next=s;p=s;getchar();}}s->next=Null;if(head!=NULL)printf("录入信息成功!\n");return head;}void insert(struct flight *head){struct flight *p,*pi;pi=(struct flight*) malloc(sizeof(struct flight));p=head;printf("航班号起点站终点站起飞时间到达时间机型价格\n");scanf("%s",&pi->fltNum);scanf("%s",&pi->StartingPoint);scanf("%s",&pi->Terminal);scanf("%s",&pi->DepartureTime);scanf("%s",&pi->ArrivalTime);scanf("%s",&pi->AircraftType);scanf("%d",&pi->price);if(head==Null){head=pi;pi->next=Null;}else{while(p->next!=Null){p=p->next;}if(p->next!=Null){pi->next=p->next;p->next=pi;}else{p->next=pi;pi->next=Null;}}}struct flight * delet(struct flight *head,charfltNum[15]) {struct flight *p,*q,*s;p=head;if(head==Null){printf("没有航班信息要删除。
如何查询机场的航班记录

如何查询机场的航班记录随着航空业的快速发展,越来越多的人选择坐飞机出行。
在乘坐飞机之前,查询机场的航班记录变得愈发重要。
当你需要了解某个机场的停靠航班、航班时间表或者延误情况时,下面将介绍一些常见的查询方式和工具。
一、官方网站查询大多数机场都有官方网站,上面提供了航班信息查询的功能。
你可以访问相关机场的官方网站,往往可以在首页或者导航栏中找到“航班信息”或类似的标签。
进入航班信息页面后,提供了航空公司、航班号、起降时间等多个查询选项,你可以根据自己的需求进行查询。
这种方式的数据准确性相对较高,但需要自己上网查询。
二、航空公司官方网站或APP查询除了机场官方网站外,航空公司的官方网站或者APP也是查询机场航班记录的有效工具。
在航空公司的官方网站或APP中,通常提供了航班查询、延误信息、机场航班动态等多个功能,可以满足你的查询需求。
通过航空公司官方渠道查询的数据也较为准确,但仅限于该航空公司的航班信息。
三、第三方航班查询网站或APP有许多第三方航班查询网站或APP,如Flightradar24、FlightAware 等。
这些平台整合了全球范围内的航班信息,提供了更全面的查询功能。
你可以通过输入机场名称或者航班号来查询相关信息。
这些平台通常提供了实时航班状态、航线图、延误预测等功能,能够帮助你更好地了解机场的航班情况。
但需要注意,第三方平台的数据可能会有一定的延迟,因此在查询时需要留意数据的准确性和实时性。
四、航班查询电话或服务台如果你不方便上网或者使用手机APP,你也可以拨打航空公司或机场的服务电话进行查询。
这些服务电话通常会有专门的航班查询热线,你只需拨通后按照语音提示操作即可获得所需的航班记录。
另外,一些机场也会在航站楼设立查询服务台,在那里你可以直接咨询工作人员并获得有关航班的详细信息。
五、机场显示屏或公告牌当你到达机场时,机场内通常会配备多个显示屏或公告牌,上面会展示航班的起降时间、航空公司、航班号等信息。
航班查询系统

题目:航班查询系统一、语言和环境A、实现语言JavaB、环境要求JDK1.6、Eclipse、Tomcat5.5.*、SQLServer2005二、数据库设计数据库名称:flight数据库表信息,如下表:三、要求航班查询系统提供根据航班号查询航班信息的功能。
现要求使用JavaScript+JSP-JDBC 技术实现该功能,数据库使用SQLServer2005。
要求如下:1、初始页面为查询页面,用户在该页面的文本输入框内输入要求查询的航班号,如图1所示:图1查询界面2、用户输入航班号后,点击“搜索航班”按钮时,系统将校验用户输入内容,当用户没有输入航班号直接点击“搜索航班”按钮时,将给出提示信息,如图2:图2显示提示信息3、用户输入了航班号点击“搜索航班”按钮后,系统提交该查询请求,并在查询结果也面上显示满足条件的航班信息,如图3 所示:图3 查询结果页面当系统没有找到该航班的信息时,在查询结果页面上显示提示信息,如图4所示:图4没有找到该航班的信息在查询结果页面上,用户点击“返回”按钮时,页面回到查询页面。
四、实现步骤1、创建数据库、数据库表、并录入测试记录,见下表:2、创建Web 工程flight,导入数据库驱动包,在源文件夹中创建dao包用于存放数据访问类:3、创建DAO基类:BaseDao.javaA、包含基本数据库资源的获取、释放操作;4、创建DAO类:FlightDao.javaA、编写方法search(String flightid),查询满足条件的航班,将航班信息封装到List类的对象中并返回该对象;5、创建JSP:search.jspA、编写表单,正确提交到result.jsp;B、编写JavaScript验证;验证未通过时,给出相应提示:验证通过后,提交表单。
6、创建JSP:result.jspA、编写Java 小脚本,获得传入的参数;B、调用FlightDao 的search() 方法,查询航班信息;C、根据查询结果,显示航班信息或提示信息;D、编写“返回”按钮。
Google Flights航班信息查询工具

Google Flights航班信息查询工具Google Flights是谷歌推出的一款航班信息查询工具,旨在为用户提供方便、快捷的航班查询和比价服务。
作为一个集成了强大搜索引擎和数据分析功能的平台,Google Flights为乘客提供了准确、实时的航班信息,并帮助他们找到最佳的航班选择。
一、仪表简介Google Flights的主界面简洁明了,用户可以通过输入起始地、目的地和出行日期等基本信息来开始航班查询。
而与其他航班查询网站不同的是,Google Flights还提供了一些独特的功能,使用户能够更方便地搜索并筛选符合自己需求的航班。
二、实时航班信息通过与众多航空公司和机场合作,Google Flights能够获取到最新的航班信息,并在用户查询时实时更新。
用户可以轻松地查看航班的起飞时间、到达时间、航班号码以及是否有中转等重要信息。
三、航班比价功能Google Flights的另一个强大功能是航班比价,它可以帮助用户找到最具竞争力的航班价格。
通过分析航班供应商和航空公司的价格数据,Google Flights能够提供准确的航班价格信息,并将其以直观的图表形式展示给用户,帮助用户找到最合适的航班。
四、多样化的搜索功能除了基本的航班搜索功能外,Google Flights还提供了一些高级搜索选项,使用户能够更准确地筛选符合自己需求的航班。
用户可以根据航空公司、航班类型(经济舱、公务舱等)、中转时间以及乘客数等因素进行筛选,从而找到最适合自己的航班。
五、行程规划和提示Google Flights还为用户提供了行程规划和提示的功能。
用户可以将不同的航班组合为完整的旅行行程,Google Flights会为用户计算并显示每个航程的总飞行时间以及中转时间等重要信息。
此外,Google Flights还会提供实用的旅行建议和提示,如最佳出发时间、旅行保险推荐等,帮助用户规划完美的旅程。
六、用户体验和跨平台支持作为一个谷歌产品,Google Flights注重用户体验,并通过不断的优化改进来提高用户满意度。
VF0024航班航空信息查询系统

前言世界航班信息查询系统是一个航空机构不可缺少的部分,它的使用可方便航空公局查看到各类班机的基本信息,所以世界航班信息查询系统应该能够为航空公司提供充足的信息和快捷的查询手段。
但由于此系统的功能有限,所以不一定能使航空公司查看到所有的相关信息,因此此系统也有待进一步提高。
随着科学技术的不断提高,计算机科学日渐成熟,管理系统强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对航班情况进行管理,的确能起到行之有效的作用。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发一套世界航班信息查询系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
1目录前言第一章管理信息系统 (1)1.1 管理信息系统的概述 (1)1.2 管理信息系统的特点 (1)1.3 管理信息系统的开发 (2)第二章开发软件概述 (4)2.1 Visual FoxPro 概述 (4)2.2 为什么要使用面向对象的编程 (7)第三章世界航班信息查询系统的设计和开发 (8)3.1 总体的设计思想 (8)3.2 设计流程 (8)3.3 数据库的设计 (9)第四章世界航班信息查询系统设计的具体实现 (10)4.1 系统模块的具体实现 (10)4.2 数据浏览模块 (10)4.3 数据修改模块 (10)4.4 数据查询模块 (12)4.5 系统开发的其它方面 (12)结束语 (13)参考文献 (15)附录 (16)2该系统四大功能模块及各子模块设计图如下所示:34.3数据修改模块44.4 数据查询模块Powered by 计算机毕业论文网重要提示:本论文由大学论文网毕业论文下载网: 提供5如果需要详细内容请与QQ:4991024联系6。
航班管理系统

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("没有航班信息,不能查询,请先创建信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉轻工大学数计学院《数据结构》课程设计报告
名称:航班查询系统
班级:信息与计算科学1301
姓名:王杰
学号:1312010027
指导教师:王防修
学年学期:2014 ~ 2015 学年第一学期
2014 年12 月26 日
一、需求分析
1. 问题描述:
本任务要求对飞机航班信息进行排序和查找。
可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。
本设计主要是对排序以及查找等概念进行综合练习。
以链式基数排序为主线,用到二分查找和顺序查找等知识,还有建立静态链表等相关概念.
2. 基本要求:
进入系统后,首先提示输入航班的信息,包括:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号及票价等,票价为整型,其他为字符型。
当输入完一个信息后会提示是否继续输入,重复以上步骤输入全部的信息。
进入主菜单后会给出用户操作的界面,根据提示进行航班信息的查询。
二、概要设计
1.系统的功能:
本任务要求对飞机航班信息进行排序和查找。
可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。
本设计主要是对排序以及查找等概念进行综合练习。
以链式基数排序为主线,用到二分查找和顺序查找等知识,还有建立静态链表等相关概念。
2.系统模块分析:
(1)航班排序对输入系统内的航班首先要进行排序,我们采用的基数排序,从低位到高位依次对关键字进行分配和收集,分两段实现其算法流程图。
(2)时间查找根据航班的起飞时间(到达时间)查找航班的信息。
(3)二分法查找功能
(4)显示功能显示功能是将所求单词的所有行列信息依次显示在屏幕上。
航班查询系统
程序源代码:
# include <stdio.h>
# include<stdlib.h>
# include <ctype.h>
#include <string.h>
# include<process.h>
# include <conio.h>
# define Null 0
struct flight
{
char fltNum[15];
char StartingPoint [20];
char Terminal [20];
char DepartureTime[8];
char ArrivalTime[8];
char AircraftType[10];
int price;
struct flight * next;
};
void print()
{
printf("**************欢迎光临航班查询系统******************\n");
printf("|--------------------------------------------------|\n");
printf("| 请输入选项编号(0-8)|\n");
printf("|--------------------------------------------------|\n");
printf("| 1--录入航班信息|\n");
printf("| 2--添加新航班信息|\n");
printf("| 3--删除航班信息|\n");
printf("| 4--排序航班信息|\n");
printf("| 5--浏览所有航班信息|\n");
printf("| 6--查询航班信息|\n");
printf("| 7--退出航班查询系统|\n");
printf("|--------------------------------------------------|\n");
}
struct flight * init(int n)
{
int i;
struct flight *head,*p,*s;
for(i=1;i<=n;i++)
{
printf("航班号起点站终点站起飞时间到达时间机型价格\n");
if(i==1)
{
p=(struct flight*) malloc(sizeof(struct flight));
scanf("%s",&p->fltNum);
scanf("%s",&p->StartingPoint);
scanf("%s",&p->Terminal);
scanf("%s",&p->DepartureTime);
scanf("%s",&p->ArrivalTime);
scanf("%s",&p->AircraftType);
scanf("%d",&p->price);
head=p;
getchar();
}
else
{
s=(struct flight*) malloc(sizeof(struct flight));
scanf("%s",&s->fltNum);
scanf("%s",&s->StartingPoint);
scanf("%s",&s->Terminal);
scanf("%s",&s->DepartureTime);
scanf("%s",&s->ArrivalTime);
scanf("%s",&s->AircraftType);
scanf("%d",&s->price);
p->next=s;
p=s;
getchar();
}
}
s->next=Null;
if(head!=NULL)
printf("录入信息成功!\n");
return head;
}
void insert(struct flight *head)
{
struct flight *p,*pi;
pi=(struct flight*) malloc(sizeof(struct flight));
p=head;
printf("航班号起点站终点站起飞时间到达时间机型价格\n");。