航班查询系统
- 格式:doc
- 大小:132.12 KB
- 文档页数:28
某公司每天有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注重用户体验,并通过不断的优化改进来提高用户满意度。
前言世界航班信息查询系统是一个航空机构不可缺少的部分,它的使用可方便航空公局查看到各类班机的基本信息,所以世界航班信息查询系统应该能够为航空公司提供充足的信息和快捷的查询手段。
但由于此系统的功能有限,所以不一定能使航空公司查看到所有的相关信息,因此此系统也有待进一步提高。
随着科学技术的不断提高,计算机科学日渐成熟,管理系统强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对航班情况进行管理,的确能起到行之有效的作用。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发一套世界航班信息查询系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
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("没有航班信息,不能查询,请先创建信息。
查航班信息查询随着人们出行的增多,航班信息查询已经成为了大家生活不可或缺的一部分。
航班信息查询有着丰富的渠道和多样的方式,接下来就让我们一起来了解一下吧。
一、航班信息查询平台目前市场上有很多航班信息查询平台,如携程、去哪儿等。
这些平台可以提供航班的出发时间、到达时间、起飞地点、目的地点、航班号、仓位等信息。
通过这些平台查询航班信息的好处是可以在网上完成快捷方便的购票。
在具体操作时,我们只需要打开平台页面,输入出发地、目的地、航班时间等信息,系统会自动筛选出符合条件的航班,供我们进行选择。
在购票时,平台也会提供一些优惠和折扣,这对于我们来说也是非常有利的。
二、航空公司官网查询如果我们已经确定了航空公司,那么我们可以通过其官网查询航班信息。
这种方式可以获得更加准确、详细的航班信息。
航空公司官网的查询操作与平台查询类似,我们只需要输入出发地、目的地、时间等信息即可获得航班信息。
值得注意的是,在查询过程中,我们需要注意官网上提供的时刻表,这些信息为我们预订航班提供了很好的参考。
三、机场航班查询系统通过机场航班查询系统,我们可以了解到各个机场的航班情况。
为了方便大家,国内很多机场都提供了航班查询系统,其中包括了出发、到达、中转的航班,以及每个航班的航班号、起飞时间、到达时间等信息。
航空公司也会将最新的信息通过机场航班查询系统分享给用户,因此,用户可以及时了解到航班的最新信息,以便调整行程。
四、航班信息查询APP除了网站之外,航班信息查询APP也是一种非常方便的查询方式。
用户可以在手机上下载航班信息查询APP,通过输入出发地、目的地、起飞时间等信息,来获得最新的航班信息。
其中一些APP还可以提供实时更新,免费提供行李托运查询、机票查找、座位选择等服务。
总结:航班信息查询是我们出行前的一项必要准备工作,通过以上方式,我们可以获得快速、准确、实用的航班信息。
在选择查询方式时,我们需要考虑一些因素,如信息来源的准确性、可靠性,航班信息的及时性以及自身出行的需要等。
查询航班信息引言:在现代社会,随着人们对航空出行需求的增加,航空公司不断扩大航线网络,提供更多的航班选择。
然而,对于乘客来说,准确了解航班信息变得尤为重要。
本文将介绍如何查询航班信息,包括航班查询的工具、常用的查询方式以及如何解读航班信息。
一、航班查询工具1. 网上航班查询网站:如今,许多航空公司、航空机票代理商以及第三方旅行网站都提供在线航班查询服务。
常见的航班查询网站有:航班管家、去哪儿网、携程网等。
通过这些网站,乘客可以输入出发地、目的地以及出行日期,即可获得相关的航班信息。
2. 航空公司官方网站或应用程序:每个航空公司都有自己的官方网站和移动应用程序,乘客可以通过它们查询航班信息。
这些官方渠道通常提供最准确和及时的航班信息,包括实时航班状态、起降时间变更等。
乘客可以选择直接访问航空公司的官方网站或是下载相应的移动应用程序。
3. 航班查询热线:除了在网上查询航班信息,乘客还可通过航空公司提供的航班查询热线获取信息。
当乘客遇到无法在线查询或需要人工帮助时,拨打航班查询热线可以让客服人员为您提供所需的信息。
二、常用查询方式1. 查询航班动态:查询航班动态是最常用的航班查询方式之一。
通过输入航班号或选择出发地、目的地以及日期,乘客可以了解特定航班的起降时间、当前状态等信息。
这种方式适合那些已经订购了机票并知道航班号的乘客。
2. 查询航班时刻表:查询航班时刻表是另一种常用的查询方式。
乘客可以在航空公司的官方网站上或航班查询网站上浏览特定航线的航班时刻表。
航班时刻表通常提供每日航班的起降时间、飞行时间以及航班号等信息。
乘客可以根据自己的出行计划,选择最适合的航班。
3. 查询航班经停信息:有时候,乘客需要了解航班的经停信息,以便安排行程或选择转机的航班。
通过查询航班经停信息,乘客可以了解某个航班在中途是否有停靠机场,这对于行程规划尤为重要。
乘客可以通过航空公司官方网站、航班查询网站或移动应用程序进行查询。
武汉轻工大学数计学院《数据结构》课程设计报告
名称:航班查询系统
班级:信息与计算科学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");。