航班咨询系统(代码)
航空系统代码
ClientNode *next;
}ClientNode;
typedef struct {//已订票客户单链表(按ID有序)
ClientNode *client;
int length;
}ClientLink;
typedef struct WClientNode{//侍订票客户结点
if(!LF.flight){printf("无法找到指向航线结点的指针\n");exit(ERROR);}
LF.flight->airline="fuzhou--beijing"; //头结点赋值
LF.flight->client=CL1;
LF.flight->flight_no="FU127";
//形参number查看时输入的航班号
//引用航班顺序线性表LF
flightnode *p=LF.flight;
while(p){
if(number==p->number)break;//查看的航班号是否在LF的航班号里有
p=p->next;
if(!p){printf("申请不到航线结点\n");exit(ERROR);}
LF.flight->next=p;
ClientLink CL2;
InitList_CL(CL2);
WClientQueue WCQ2;
InitList_WCQ(WCQ2);
if(!CL.client)exit(ERROR);
CL.length=0;
CL.client->next=NULL;
民航国内外航空公司的呼号及代码PPT
呼号及代码的意义
呼号
航空公司的呼号是其对外宣传和标识 的重要手段,有助于提高航空公司的 知名度和品牌价值。
代码
航空公司的代码是国际航空运输协会 (IATA)为便于航班计划管理和旅客 出行而分配给各航空公司的唯一识别 码,包括航空公司二字码和三字码。
02
国际航空公司呼号及代码概览
美国航空公司
01
呼号:American Airlines
02
代码:AA
03
04
总部:美国得克萨斯州达拉斯 市
主要航线:全球
英国航空公司
呼号:British Airways 总部:英国伦敦希思罗机场
代码:BA 主要航线:全球
法国航空公司
01
呼号:Air France
02 03
代码:AF 总部:法国巴黎夏尔·戴高乐机场
代码应用
航空公司代码是国际航空运输 协会为全球各航空公司分配的 唯一识别码,通常由两个字母
组成。
航空公司代码用于航班计划、 机票预订和航空运输统计等方 面,是国际航空运输中不可或
缺的一部分。
例如,中国国际航空公司的航空 公司代码为“CA”,中国南方航 空公司的航空公司代码为“CZ”。
这些代码方便了航空公司和相 关机构进行业务操作,提高了 航空运输的效率和准确性。
民航国内外航空公司呼号 及代码概览
• 引言 • 国际航空公司呼号及代码概览 • 国内航空公司呼号及代码概览 • 呼号及代码的识别和应用 • 总结
01
引言
目的和背景
目的
了解国内外各大航空公司的呼号及代 码,以便在出行时能够快速识别和选 择合适的航空公司。
背景
随着全球航空业的快速发展,航空公 司数量不断增加,呼号及代码的规范 管理对于提高航班运营效率和旅客出 行体验具有重要意义。
航班查询系统
航班查询系统(代码+截图)程序源代码:# 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("没有航班信息要删除。
c语言 航空订票系统代码
struct airline *find()
/*根据系统提出的航班号查询并以指针形式返回*/
{ struct airline *info;
char number[10];
int i=0;
info=start;
printf("请输入航班号:");
scanf("%s",number);
if(!(info=find())) return;/*根据客户提供的航班号进行查询,如为空,退出该模块*/
printf("请输入你订票所需要的数量:");
scanf("%d",&amount);
if(amount>info->tkt_amt)/*若客户订票额超过乘员定票总额,退出*/
linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/
}lineinfo;
struct airline *start;
struct airline air[MAXSIZE]={{"北京","1","001","SUN",30,15},
{"上海","2","002","MON",40,10},
strcpy(new1->name,name);
new1->ord_amt=amount;
new1->grade=grade;
new1->next=NULL;
if(head==NULL)/*若原无订票客户信息*/
飞机订票系统(C语言代码及流程图)
目录第一部分源程序---------------------------------------------------3第二部分函数流程图--------------------------------------------11 menu()-----------------------------------------------------12 enter()-----------------------------------------------------13 input()-----------------------------------------------------14 browse()---------------------------------------------------15 menu1()---------------------------------------------------16 order()-----------------------------------------------------17 search_time()---------------------------------------------18 search_end()----------------------------------------------19 search()----------------------------------------------------20 book()------------------------------------------------------21 back()------------------------------------------------------22 save()------------------------------------------------------23 load()------------------------------------------------------24 第三部分心得体会------------------------------------------------25第一部分:源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 1000typedef struct plane{char ID[10]; /*航班代号*/char BePlace[10];/*飞机起飞地点*/char EnPlace[10];/*飞机降落终点*/char data[15];/*飞机起飞时间*/int max;/*飞机最大乘客人数*/int price;/*飞机票价*/int num;/*飞机已售票数*/}PLANE;PLANE ti[N];int n;/*当前的航班数目*/void menu();void menu1();void input(int i){printf("请输入航班代号:\n");scanf("%s",ti[i].ID);printf("请输入起飞地点:\n");scanf("%s",ti[i].BePlace);printf("请输入降落地点:\n");scanf("%s",ti[i].EnPlace);printf("请输入起飞时间:\n");scanf("%s",ti[i].data);printf("请输入航班的最大载客人数:\n");scanf("%d",&ti[i].max);printf("请输入航班的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;}void enter(){int i;system( "cls" );printf("请输入航班的数目(0-%d)?:",N);scanf("%d",&n); /*要输入的记录个数*/printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("\n请输入第%d 航班记录.\n",i+1);input(i); /*调用输入函数*/}getchar();menu();}void printf_one(int i) /*显示一个记录的函数*/{printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace ,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i);printf("\n");}getchar();getchar();menu();}void order() /*排序模块(按平均成绩)*/{int i,j;struct plane s;system( "cls" );for(i=0;i<n;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if(strcmp(ti[i].data,ti[j].data)>0){s=ti[i];ti[i]=ti[j];ti[j]=s;}}browse();}void search_time(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the time:");scanf("%s",s.data); /*输入出发的时间*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void serch_end(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the end Place:");scanf("%s",s.EnPlace); /*输入要到达的地方*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void menu1(){int n,w1;do{system( "cls" ); /*清屏*/puts("\t\t\t\t 飞机售票操作!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.按照时间排序");puts("\t\t\t\t2.按照时间查找航班");puts("\t\t\t\t3.按照地点查找航班");puts("\t\t\t\t4.返回主菜单");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-4): [ ]\b\b");scanf("%d",&n);if(n<1||n>4) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 4,Please input again:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:order();break;case 2:search_time();break;case 3:serch_end();break;case 4:menu();break;}}int search() /*查找模块*/{int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n请输入要订票的起飞地点:");scanf("%s",s.BePlace); /*输入要到达的地方*/printf("\n\n请输入要订票的降落地点:");scanf("%s",s.EnPlace);printf("\n\n请输入要订票的起飞时间:");scanf("%s",s.data); /*输入出发的时间*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.dat a,ti[i].data)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进入售票窗口!\n");i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n该趟航班票已售完!");}else{ti[i].num++;printf("\n订票成功!\n");}}elseprintf("该航班不存在!\n");getchar();getchar(); /*按任意健*/menu();}void back(){int i,k=-1;struct plane s;system( "cls" );printf("欢迎进入退票窗口!\n");printf("\n\n输入航班代号:");scanf("%s",s.ID); /*输入要到达的地方*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");}else{ti[i].num--;printf("\n退票成功!\n");}getchar(); /*按任意健*/getchar(); /*按任意健*/menu();}void save(){int w=1;FILE *fp;int i;system( "cls" );if((fp=fopen("D:\\我的文档\\桌面\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的记录被覆盖*/{printf("\nCannot open file\n");return ;}for(i=0;i<n;i++)if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1){printf(" error\n");w=0;}if(w==1){printf(" ok!\n");}fclose(fp);getchar();getchar();menu();}void load(){FILE *fp;int i,w;w=1;system( "cls" );if((fp=fopen("D:\\我的文档\\桌面\\ticket.txt","rt"))==NULL){printf("\nCan not open file\n");w=0;return;}n=0;for(i=0;!feof(fp);i++){fread(&ti[i],sizeof(struct plane),1,fp);n++;}n=n-1;fclose(fp);if(w==1)printf("Load !");getchar();getchar();menu();}void menu(){int n,w1;do{system( "cls" ); /*清屏*/ /*清屏*/puts("\t\t\t\t 飞机售票管理系统!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.输入新航班");puts("\t\t\t\t2.浏览");puts("\t\t\t\t3.航班操作");puts("\t\t\t\t4.订票");puts("\t\t\t\t5.退票");puts("\t\t\t\t6.保存");puts("\t\t\t\t7.载入");puts("\t\t\t\t8.退出");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-8): [ ]\b\b");scanf("%d",&n);if(n<1||n>8) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 8,Please input enter to choice again:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:enter();break; /*输入模块*/case 2:browse();break; /*浏览模块*/case 3:menu1();break; /*查找模块*/case 4:book();break; /*订票模块*/case 5:back();break; /*退票模块*/case 6:save();break; /*保存模块*/case 7:load();break; /*加载模块*/case 8:exit(0);}}void main(){menu();}第二部分:函数流程图(2)enter函数流程图第三部分:心得体会(1)开始对c语言只是一种零散的认识,作为一个c语言的初学者对编程没有明确的概念,只是对语句的格式与编程规定有了一个初步了解。
eterm系统培训指令
ETERM指令培训一.登录、退出DCS系统1.登录:指令说明:SI输入格式:SI:10263/61227A/91/LAX0012.退出:指令说明:SO二.修改密码1.指令说明: AN:输入格式:AN 旧密码/新密码举例:AN 12345A/67890B三.页面控制指令PG:当前页半屏显示12 行PG1:全屏显示 24 行PF:首页PN:后页PB:前页PL:末页四.设置缺省航班1.指令说明:FT输入格式:FT:MU583/01SEP五.航班状态显示1.指令说明:SY输入格式:SY:航班号/日期/城市/选项举例:SY:MU583/./PVG/Z选项:Z: 分区显示S: 分销售舱位显示E: EDI实际情况显示六.航班座位图显示1.指令说明:SE输入格式:SE:航班号/日期/舱位/航段举例:SE:MU583SE:已设置缺省航班七.显示旅客名单1.指令说明:PD输入格式PD:FLT/DATE/CLASS/CITY,ITEM1,ITEM2,……PD:FLT/DATE/CLASS/CITY,ITEM1;ITEM2;……PD ,ITEM1,ITEM2,……设置缺省航班后PD ,ITEM1;ITEM2;……设置缺省航班后逗号表示多个条件同时满足;分号表示满足其中一个条件既可;举例:显示所有未接收旅客还未办理值机的: PD, NACC显示所有已接收旅客并且有特殊餐食的旅客:PD, ACC, SPML显示所有未接收姓LI的旅客和所有姓CHEN的旅客:PD, NACC, 1LI; 1CHEN 举例:显示所有INF名单:PD ,INF显示所有儿童名单: PD ,CHD显示所有有联程航班旅客名单: PD ,O显示所有有预留座位旅客名单: PD ,RES显示旅客名单举例:按团名显示所有团体旅客:PD, GRP举例:显示团号为J的团体旅客:PD, GRIJ此时不能用序号1-10接收旅客,因为序号1是团号;举例:显示团号为J的团体旅客,不包括团名:PD, GRIJ, NGRP八.提取代码共享旅客:PD, SIP九.提取内代旅客:PD, MKT十.提取旅客详细信息PR指令用于提取旅客当前或历史值机数据;它包含各种详细信息,诸如有特殊服务需求的旅客,行李牌号码,登机号或候补号,APIS信息等;如果PR指令在PD,RN,RL指令后使用,将用上一次显示的序号来提取旅客详细信息;旅客详细记录同样可以按行李牌号码,座位号,登机号,候补号或姓名来提取;1.指令说明PR输入格式PR:序号PD指令显示的PR:序号PDSB备注:之前已执行过PR1指令,再次操作时不能使用PR2,需使用指令PR2PD,依此类推2..提取旅客详细信息选项含义:•ACC 接收•MOD 修改•SBY 候补状态•SEA 重新分配座位的旅客•DEL 被删除•XBT 不打印行李牌•XBP 不打印登机牌显示无旅客行李:PR MU545/.YPVG,0 3.按旅客姓名提取旅客详细信息指令说明RN输入格式RN:LIRN:LI/XIAO4.按记录编号提取旅客详细信息指令说明RL输入格式RL:H58DC5.按座位号提取旅客详细信息指令说明FSN输入格式FSN:12A6.按登机号提取旅客详细信息指令说明FB输入格式FB:34十一.接收旅客1.指令说明PA输入格式PA:序号,选项BC 序号,R 重新打印登机牌BAG 序号,R 重新打印行李牌2.接收旅客接收旅客并且要求特殊餐食在NEW APP里无法选择代码的接收一名乘客并托运一件16kg的行李,要求无牛肉餐;PA1,1/16,SPMLNO BEEF MEAL3.代码共享航班候补旅客接收在MU583的代码共享航班AA5791上接收一个候补旅客,姓名MICHEAL/JACKSON,舱位K舱; FT AA5791PA K1MICHEAL/JACKSON,URES完整的指令格式为:PA 代码共享航班号/日期/舱位目的地序号姓/名,URES建议预接收旅客接收候补旅客使用JC指令因为如果使用了PA指令,但无GO-SHOW的话,旅客状态会变为SB 状态,此时即使控制室放出GO-SHOW,也无法接收旅客十二.换乘航班把MU545上的旅客LI/LIANG转到MU567上,托运一件10kg的行李;•PA MU545M1LI/LIANG,ZMU567LSIN,1/10当旅客值机记录从MU545航班上转移至MU567,其在MU545航班上的值机和订座记录均被取消掉;如果旅客在MU567航班上列为候补,其值机记录为未接收状态,订座记录保持不变;如果旅客的候补状态改为值机状态时,其订座记录在MU545上消失;十三.修改未接收旅客记录1.指令说明:PU:输入格式:PU:1,ITEM2.指令说明PU输入格式:PU:1,ITEM举例:PU:1,1/10 加一件行李10公斤PU:1,UPGF 升舱,要GO-SHOW限额 F 仓PU:1,DNGY 降舱,要GO-SHOW限额 Y 仓举例PU:1,R1A 换座位,换到1APU:1,OCA101YHKG,URES 加联程航段CA101,联程无订座记录PU:1,0CA101YHKG,0CX623YTPE,URES 加两段联程航班PU:1,1/10,T/CA/123456/PEK 加行李,输入行李牌号PU:1,INF1LI/LI 加婴儿,输入婴儿姓名PU:1,CHD1 将旅客修改为儿童PU:YHKG0,1/10 加速运行李无人行李,在指令SY中•用UB显示,此处0 表示没有旅客3.删除旅客记录或信息指令说明PW输入格式PW:序号,ITEM举例:PW:-1 删除第一名旅客记录PW:-1-5 删除上第一名至第五名旅客记录举例PW:1,BAG 减去所有行李PW:1,1/10,BT/123456 减去一件行李,并删掉一个行李牌号PW:1,1/10,T/CA/123456 减去一件行李,并删掉手工行李牌号PW:YPEK0,1/10 减速运行李,该速运行李的目的地是PEK PW:1,FF 减去旅客常客卡号PW:1,INF 减去婴儿十四.预留座位1.普通旅客预留座位指令说明:PA:输入格式PA:序号,R座位号座位图上显示“P”PA:序号,SNR座位号使用C的座位举例PA:1,R12APA:1,SNR3A2.单个VIP预留座位指令说明JCS:输入格式JCS:序号,R座位号座位图上显示“D”可直接占用C的座位举例JCS:1,R1A3.多个VIP旅客预留座位指令说明JCR:输入格式JCR:序号,R座位号座位图上显示“V”JCR:序号,SNR座位号使用C的座位举例JCR:1-2,R1A-C十三.释放预留指令说明RA输入格式RA:航班号/日期/舱位/航段,座位类型RA:航班号/日期/舱位/航段,座位类型座位号举例RA:CA101/./F/PEKHKG,RESRA:CA101/./F/PEKHKG,CRS1A释放预留座位类型RES 订座系统保留或预留的座位,座位图上显示字符“R”CRS 值机执行PA指令预留的座位,座位图上显示符号“P”ASR 为VIP旅客预留的座位包括用JCS和JCR指令保留的座•位,座位图上显示字符“D”或“V”ALL 所有类型十五.统计指令JFL指令说明JFL输入格式JFL 航班号/日期按值机员工号调取:PD,AGT工号十六.打印旅客名单JL输入格式JL:选项/航班号/日期/舱位/航段/打印机地址举例JL:N/MU583/.//PVGLAX/2456旅客登机名单产生JL旅客名单的提取选项:A: 按值机员显示B: 按登机号顺序显示BX: 按登机号排列,并注明到达站旅客详细情况PSM S: 按座位顺序显示NX: 按姓名字母顺序,并注明旅客详细情况E: 按电子客票顺序显示EX: 按电子客票顺序显示,并且注明旅客详细信息十七.提取电子客票旅客的信息指令说明ETKD输入格式ETKD:TN/票号ETKD:NI/身份证号ETKD:CN/记录编号ETKD:NM/姓名必须与定座一致ETKD:序号十八.输护照信息航班的候补电子客票接收指令为:ETKD:TN/票号PA:舱位目的地1姓/名,ET的航段数,URES姓名必须和ETKD里显示的姓名一模一样,包括MR/MS之类的称呼十九.旅客护照信息APIS1.指令说明API•输入格式•API 序号/ 刷护照方式•API 序号/PAXLST 成人信息手工输入•API 序号/PAXLST,INF 婴儿信息手工输入2.如何在ETERM 中调取api指令:API 序号/PAXLST二十.APP信息的输入指令:JAPP:序号,app/护照号/国籍/生日/姓/名/护照类别/护照失效日/护照签发国。
航空订票系统代码
Airline.h#pragma once#include<string>using std::string;#include<iostream>using std::istream;using std::ostream;#include<string>using std::endl;using std::cout;using std::cin;#include"DataStructure.h"#include"Passenger.h"class AirLine;ostream &operator<<(ostream &output ,const AirLine& line);class AirLine{friend void InitAirLine(AirLine *line);friend ostream &operator<<(ostream &output,const AirLine& line); public:AirLine(void);~AirLine(void);string GetEndPoint();int GetSeatNum(int);int GetSeatRemain(int);void SetSeatRemain(int num,int whickWeek);string GetFlightNum(void);void InsertPassenger(Passenger& temp);bool IsFly(int whichWeek) const;void InsertAwait(Passenger& temp);bool DeletePassenger(Passenger&);int IfAwaitBook(int tiNum, int whichWeek);private:string endPoint;string flightNum;string airNum;bool week[8];int seatNum[8];int seatRemain[8];MyList<Passenger> pList;MyQueue<Passenger> pQueue;};Airline.cpp#include"AirLine.h"AirLine::AirLine(void){for(int i=0;i<8;i++)week[i]=false;}AirLine::~AirLine(void){}string AirLine::GetEndPoint(){return endPoint;}ostream &operator<<(ostream &output,const AirLine &line){output<<"终点站: "<<line.endPoint<<"\n\n"<<"航班号: "<<line.flightNum<<"\n\n"<<"飞机号: "<<line.airNum<<"\n\n"<<"剩余票数:\n";for(int i=1;i<8;i++)if(line.IsFly(i))output<<"周"<<i<<" "<<line.seatRemain[i]<<endl;string weekName[8]={" ","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sund ay"};output<<"飞行日:";for(int i=1;i<8;i++)if(line.week[i])output<<weekName[i]<<"\t";cout<<endl;return output;}int AirLine::GetSeatNum(int whichWeek){return seatNum[whichWeek];}int AirLine::GetSeatRemain(int whichWeek){return seatRemain[whichWeek];}void AirLine::SetSeatRemain(int num,int whichWeek) {seatRemain[whichWeek]-=num;}string AirLine::GetFlightNum(void){return flightNum;}void AirLine::InsertPassenger(Passenger& temp) {pList.InsertNode(temp);}bool AirLine::IsFly(int whichWeek) const{return week[whichWeek];}void AirLine::InsertAwait(Passenger& temp){pQueue.EnQueue(temp);}bool AirLine::DeletePassenger(Passenger& temp) {seatRemain[temp.GetWeek()]+=temp.GetTickets();return pList.DeleteNode(temp);}int AirLine::IfAwaitBook(int tiNum, int whichWeek) {if(pQueue.Empty())return 0;Passenger node,tnode;MyQueue<Passenger> tempQueue;while(!pQueue.Empty()){pQueue.DnQueue(node);if(node.GetTickets()<tiNum&&node.GetWeek()==whichWeek) break;tempQueue.EnQueue(node);}while(!tempQueue.Empty()){tempQueue.DnQueue(tnode);pQueue.EnQueue(tnode);}if(node.GetTickets()<tiNum&&node.GetWeek()==whichWeek) return node.GetTickets();elsereturn 0;}Passenger.h#pragma once#include<string>using std::string;enum TicketGrade{AA,BB,CC};class Passenger{public:~Passenger(void);Passenger(const string &passengerName=" ",int tick=0,int g=1,int w=1);bool operator==(Passenger & d);int GetTickets();int GetWeek();private:string name;int tickets;TicketGrade grade;int flightWeek;};Passenger.cpp#include"Passenger.h"Passenger::~Passenger(void){}Passenger::Passenger(const string &passengerName,int tick,int g,int w) {name=passengerName;tickets=tick;switch(g){case 1:grade=AA;break;case 2:grade=BB;break;case 3:grade=CC;break;default:break;}flightWeek=w;}bool Passenger::operator==(Passenger & d){if(d.tickets!=tickets)return false;if(!=name)return false;if(d.flightWeek!=flightWeek)return false;if(d.grade!=grade)return false;return true;//TODO: insert return statement here }int Passenger::GetTickets(){return tickets;}int Passenger::GetWeek(){return flightWeek;}DataStructure.h#include<cstdlib>//LQNode classtemplate<typename T>class MyList;template<typename T>class MyQueue;template<typename T>class LQNode{friend class MyList<T>;friend class MyQueue<T>;public:LQNode();LQNode(T);~LQNode();private:T data;LQNode<T> *next;};template<typename T> LQNode<T>::LQNode(){//data=T(0);next=NULL;}template<typename T> LQNode<T>::LQNode(T node) {data=node;next=NULL;}template<typename T> LQNode<T>::~LQNode(){}//MyList classtemplate<typename LT> class MyList{public:MyList();~MyList();void InsertNode(LT &);bool DeleteNode(LT &);private:LQNode<LT> *head;};template<typename LT> MyList<LT>::MyList(){head=new LQNode<LT>;head->next=NULL;}template<typename LT>MyList<LT>::~MyList(){}template<typename LT>void MyList<LT>::InsertNode(LT &temp){LQNode<LT> *node=new LQNode<LT>(temp);node->next=head->next;head->next=node;}template<typename LT>bool MyList<LT>::DeleteNode(LT &temp){LQNode<LT> *p,*q;p=head->next;q=head;while(p!=NULL){if(p->data==temp){q->next=p->next;free(p);return true;}q=p;p=p->next;}return false;}//MyQueue classtemplate<typename QT>class MyQueuepublic:MyQueue();~MyQueue();void EnQueue(QT &);void DnQueue(QT &);bool Empty();private:LQNode<QT> *front;LQNode<QT> *rear;};template<typename QT>MyQueue<QT>::MyQueue(){front=rear=new LQNode<QT>;}template<typename QT>MyQueue<QT>::~MyQueue(){}template<typename QT>void MyQueue<QT>::EnQueue(QT &temp){LQNode<QT> *node=new LQNode<QT>(temp);rear->next=node;node->next=NULL;rear=rear->next;}template<typename QT>void MyQueue<QT>::DnQueue(QT &temp){if(Empty())cout<<"对空"<<endl;elsetemp=front->next->data;return;}template<typename QT>bool MyQueue<QT>::Empty()return front->next==NULL;}Main.cpp#include"AirLine.h"#include<iostream>using std::cout;using std::cin;using std::endl;#include<iomanip>using std::setw;using std::setfill;void InitAirLine(AirLine *line);void InquireAirLine(AirLine* line);void BookTicket(AirLine *line);void ReturnTicket(AirLine *line);void IfAwait(AirLine &line,int tiNum,int whichWeek);void TransactBookTicket(AirLine &line,int tiNum,int whichWeek);void IfBookTicket(AirLine *line,string fiNum,int tiNum,int whichWeek); bool IsQuit();const int size=7;const int maxSeatNum=120;int main(){AirLine line[size];int select;InitAirLine(line);bool flag=false;while(!flag){cout<<"-------------------------------------------------------------------"<<endl;cout<<" 航空客运订票系统"<<endl;cout<<" 1 查询航线"<<endl<<" 2 订票业务"<<endl<<" 3 退票业务"<<endl;cout<<"-------------------------------------------------------------------"<<endl;cin>>select;while(cin.fail()||select<1||select>3){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>select;}switch(select){case 1:InquireAirLine(line);break;case 2:BookTicket(line);break;case 3:ReturnTicket(line);break;default:cout<<"error";break;}system("pause");flag=IsQuit();system("cls");}return 0;}bool IsQuit(){char change;cout<<"是否退出该系统Y/y是N/n否"<<endl;while(true){cin>>change;switch(change){case'Y':case'y':return true;break;case'n':case'N':return false;break;default:cout<<"输入错误,重新输入"<<endl;break;}}return true;}void InquireAirLine(AirLine *line){string inquirePoint;cout<<"输入终点名:"<<endl;cin>>inquirePoint;for(int i=0;i<size;i++)if(line[i].GetEndPoint()==inquirePoint){cout<<line[i];return;}cout<<"对不起,没有到达该地的航班"<<endl; }void BookTicket(AirLine *line){int tiNum;int whichWeek;string fiNum;cout<<"输入航班号:"<<endl;cin>>fiNum;for(int i=0;i<size;i++)if(line[i].GetFlightNum()==fiNum){cout<<line[i];cout<<"输入订票额:"<<endl;cin>>tiNum;while(cin.fail()){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>tiNum;}if(tiNum>maxSeatNum){cout<<"对不起,本公司暂时没有这么大的客机,请分开订票"<<endl;return;}cout<<"输入订票时间:"<<endl;cout<<"1星期一、星期二..."<<endl;cin>>whichWeek;while(cin.fail()||whichWeek>8||whichWeek<1||!line[i].IsFly(whichW eek)){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>whichWeek;}if(tiNum>line[i].GetSeatRemain(whichWeek))IfAwait(line[i],tiNum,whichWeek);elseTransactBookTicket(line[i],tiNum,whichWeek);return;}cout<<"对不起,没有到达该地的航班"<<endl;}void ReturnTicket(AirLine *line){cout<<"为您办理退票业务:"<<endl;string fiNum;int whichWeek;int tiNum;int i;string name;cout<<"输入名字"<<endl;cin>>name;cout<<"输入航班号:"<<endl;cin>>fiNum;for(i=0;i<size;i++)if(line[i].GetFlightNum()==fiNum)break;if(i==size){cout<<"无此航班,请核对后输入"<<endl;return;}cout<<"输入订票时间:"<<endl;cout<<"1星期一、星期二..."<<endl;cin>>whichWeek;while(cin.fail()||whichWeek>8||whichWeek<1||!line[i].IsFly(whichW eek)){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>whichWeek;}cout<<"输入订票额:"<<endl;cin>>tiNum;while(cin.fail()){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>tiNum;}Passenger temp(name,tiNum,1,whichWeek);if(line[i].DeletePassenger(temp)==true){cout<<"办理退票完毕,谢谢合作"<<endl;IfBookTicket(line,fiNum,tiNum,whichWeek);}elsecout<<"您没有订票或输入信息错误,请核实后办理"<<endl; }void IfAwait(AirLine &line,int tiNum,int whichWeek){cout<<"空座不够,是否排队候补?Y/y是N/n否"<<endl;char change;bool flags=true;while(flags){cin>>change;switch(change){case'Y':case'y':{flags=false;Passenger temp(" ",tiNum,1,whichWeek);line.InsertAwait(temp);cout<<"已为您登记排队候补,请耐心等候"<<endl;}break;case'n':case'N':flags=false;cout<<"谢谢合作,再见。
航班查询系统
try
{
sqlConnection.Open();
sqlDataAdapter.Fill(city.City);
}
catcpplicationException("数据库访问错误。", e);
}
finally
{
sqlConnection.Close();
第二阶段
❖ 为数据库里的表建立XML Schema(XML框 架)
❖ 要求学员自己动手编码,在编码的过程中 解答学员提出的问题
11
阶段检查
❖ 检查学员第二阶段的编码结果 ❖ 教员点评
12
第二阶段标准代码演示
❖ 演示第二阶段实现的标准代码
13
第三阶段
❖ 编写Citys类和Flights类 ❖ 要求学员自己动手编码,在编码的过程中
❖ 为数据库表建立XML Schema (XML架构)
在数据库资源管理器里建立一个数据库连接 新建一个XML Schema文件 把数据表拖放到XML Schema文件上 增加数据库没有的而程序需要的字段 生成带类型的DataSet
4
难点解析 -2
❖ 在代码中引用XML Schema
引用XML Schema对象所在的命名空间
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
SqlCommand sqlCommand = new SqlCommand();
演示第三阶段实现的标准代码 sqlDataAdapter.SelectCommand = sqlCommand;
using Aptech.Chat.Class;
定义对象
UserInfoDataSet userInfoDataSet = new UserInfoDataSet();
机票操作系统代码
操作系统代码1,查询航班:AVH/紧跟输入城市段、日期(数字)、月份(英文)后回车查看。
如果查询指定航空公司月份后加“/”再加航空公司代号。
2,订座:SD后紧跟序号计划预定仓位跟人数后回车。
(如果显示JET代表待定航班)3.人名:NM1后紧跟客人姓名,如果多个个客人,人名雨人名之间用数字1隔开(国际航班必须输入英文,中国人姓在前后加/,外国人名在前)4,联系方式:CT后输入联系电话5,预留时间:TKTL/后跟几点/日期月份BJS…(代码)6,封口:@IK(封口号码为5位数字)7,提记录:RT后紧跟封口号码8,取消订票:XEPNR\9,价格查询:FD:xxxx(只使用于国内查询) PAT:Axx国内税和价格10:查询那些航空公司飞:SKPEK紧跟目的地11,查询指定日期直达航班:AV:xxxx/日期月份12,查询经停点:IT:航班号/日期月份13,查询航班经停的城市起降时间和机型:FF:航班号/日期月份(没有经停的不显示)14,查税(价格):QTE:/承运人(航空公司)(必须输入完行程封口或达到上面第二步),如果出来很多仓位,在输入XSFSQ后跟代表仓位代码的序号。
(共享的航班不能查税)15,查询学生机票的税和价格QTE:SD/航空公司16,查询移民机票价:QTE:EM/航空公司17,查询青年机票价格:QTE:ZZ/航空公司18,OPE票的预定指令:SN:承运人---舱位---出发地与目的地19,查询SPA价格的指令:NFAD:城市段/CA(只能用于国航联运协议的航空公司。
国际段的查询)20,查汇率:XS(空格跟FSC后跟币种代码/人民币(可以互换)21,查代码代表xx:CD:跟xx代码22,用姓名查找记录:RT/旅客姓的拼音/航班号/日月年23,SK:城市段/日期查询在特定周期内所有航班的信息,所显示的航班信息时间为指定时间的前后三天一周的时间24,查看是否出票:提记录后,输入PG1回车,有票号证明已经出票完毕。
民航eterm指令大全
民航e t e r m指令大全一、系统相关指令民航系统指令:AVH/城市对/日期/起飞时间/航空公司代码/经停标识/座位等级城市对为必选项,其余为可选项指定日期的航班信息查询:AVH/PEKSHA/10OCT指定日期及航空公司的航班信息查询:AVH/PEKCAN/15OCT/CA指定日期的某一时刻之后的航班信息查询:AVH/SHACTU/10DEC/1100指定日期的某一时刻之后某航空公司航班信息查询:AVH/SHACTU/10DEC/1100/CZ指定日期及到达机场的航班信息查询:AVH/PEKPVG/11DEC在已有AV显示的前提下显示回程航班座位情况:AVH/RA/21DEC显示指定日期直达航班:AVH/PEKFRA/01DEC/D指定日期无经停的航班信息显示:AVH/SHAFRA/04DEC/N指定GDS的航班信息显示:AVLONFRA/05DEC/1A识别哪些舱位可以利用21NOV(WED) SHASZX1- CA1893 DS# FA AS YA BA MA HA KA LA QA GA PVGSZX 0745 1000 319 0 S E> SA NS VA UA WA TA ES2 CZ3590 DS# FA A4 P2 YA TA KA HA MA GA S8 SHASZX 0755 1010 320 0 B E> L6 Q6 U5 E3 V2 B2 X2 N2 RQ O43 HO1111 DS# C2 A2 JS YA BA UA LA MA TA EA SHASZX 0800 1010 320 0^B E> HA QA VA XS WS RS GS KS PS ZS IS SS DS NS说明:1.显示中的DS#为该航空公司与CRS之间的协议级别,不同的协议级别,获取座位的方式不同,DS#是最高的协议级别。
若显示AS#,则表示该航班做过时间变更2.FAYBMHKLQGSNVUWTE为舱位等级3对应等级的座位可利用情况代号,有以下几种含义:A?? 可以提供9个以上座位1-9 可以提供1-9个座位,这种情况下系统显示具体的可利用座位数L?? 没有可利用座位,但旅客可以候补Q?? 永久申请状态,没有可利用座位,但可以申请(HN)S?? 因达到限制销售数而没有可利用座位,但可以候补C?? 该等级彻底关闭,不允许候补或申请X?? 该等级取消,不允许候补或申请Z?? 座位可利用情况不明,这种情况有可能在外航航班上出现4.航班时刻显示民航系统指令:SK城市对/日期,显示一周左右的航班航班经停点及起降时间的显示FF经停查询指令格式:FF航班号/日期例三查询9OCT的CA929航班FFCA929/9OCTPEK??????? 0830?????? 74ESHA??????? 1020?????? 1135NRT??????? 1520?票价查询FD指令格式:FD城市对/日期/航空公司代码例如:查询从上海到北京国航当前的票价FDSHAPEK/23NOV/CAFD:SHAPEK/23NOV07/CA /CNY /TPM 1178/01 CA/F / 1700.00= 3400.00/F/F/ / . /01JUL07 /700102 CA/C / 1470.00= 2940.00/C/C/ / . /01JUL07 /700103 CA/Y / 1130.00= 2260.00/Y/Y/ / . /01JUL07 /700104 CA/B / 1020.00= 2040.00/B/Y/ / . /01JUL07 /700105 CA/M / 960.00= 1920.00/M/Y/ / . /01JUL07 /7001 指令格式二:从已有的AV中查询票价,FD序号翻页PN下页PAGE NEXTPB前页PAGE BACKPF最前页PAGE FISTPL最后页PAGE LASTPG重新显示当前页PAGE1.???????????? 航班信息查询AVH:出发城市到达城市/日期/月份代号例如:上海-北京12月18日,AVH/SHAPEK/18DEEC 输入(输入键是f12)查看各舱位价格用:FD序号,往后翻是用:PN往前翻是用:PB识别怎样是经停航班:例如5 CZ6554 DS# F4 A4 P2 YA TA KA HA MQ GQ SC PVGCGQ 1955 2215 320 0 C E6 HO1165 DS# C4 A4 JS YA BA UC LA MA TA EC PVGCGQ 0840 1210 320 1^B E序号(5)的航班是直飞航班,序号(6)的航班是经停航班,它们的区别,在飞机机型后面,显示0是代表不经停,显示1是代表有经停一次.订位SD序号舱位/人数NM1姓名CT:电话号码TKTL/保留时间/日期/office号\F12封口输入例如:SD1Y/1NM1李明TKTL/1200/17DEC/SHA888\如果订两人含以上SD1Y/3NM1李明1陈坤1刘德华TKTL/1200/17DEC/SHA888\定位完成会生存PNR,有了PNR,把PNR调出来用PAT: 或PAT:A输入,查看所定舱位的价格.输入旅客证件号码.用SSR FOID 航空公司HK/NI 例如定位成功会显示出来纪录编号,把编号记下来,每次订好纪录编号,要再把编号调出来,看是否定位成功,如果显示DK、HK,代表已定位成功,尚未出票;显示RR是已经出票,核对一下姓名,航程,舱位,日期,航班,要检查一下出票时限;调取纪录编号的指令是RT纪录编号输入,例如:RTPNGFD输入分离指令:SP序号输入,取消纪录编号用XEPNR,注意:在取消之前首先核对是否是自己要取消的旅客及航程,如预定了3人,只取消1人XEP序号如果取消航段用:XE序号提取大编号用:RRT:V/编号/航班号/日期。
民航订票的ETERM系统的代码和指令
国内常用城市机场三字代码代码城市名称代码城市名称代码城市名称代码城市名称AAT 阿勒泰HAK 海口LUM 德宏芒市WEH 威海AKA 安康HEI 呼和浩特LUZ 庐山WNZ 温州AKU 阿克苏HEK 黑河LXA 拉萨WUH 武汉ALA 阿拉木图HFE 合肥LXI 林西WUS 武夷山AOG 鞍山HGH 杭州LYA 洛阳WXN 万州AQG 安庆HHA 长沙/黄花LYG 连云港XEN 兴城AYN 安阳HLD 海拉尔LYI 临沂XFN 襄樊BAV 包头HLH 乌兰浩特LZD 兰州东XIC 西昌BFU 蚌埠HMI 哈密LZH 柳州XIL 锡林浩特BHY 北海HNY 衡阳LZO 泸州XIN 兴宁BJS 北京HRB 哈尔滨MDG 牡丹江XIY 西安咸阳机场BSD 保山HSN 舟山MIG 绵阳XMN 厦门CAN 广州HTN 和田MXZ 梅县XNN 西宁CCC 潮州HUZ 徽州NAO 南充XUZ 徐州CGD 常德HYN 黄岩NDG 齐齐哈尔YBP 宜宾CGO 郑州HZG 汉中NGB 宁波YCU 运城CGQ 长春INC 银川NKG 南京YIH 宜昌CHG 朝阳IQN 庆阳NNG 南宁YIN 伊宁CHW 酒泉JDZ 景德镇NNY 南阳YIW 义乌CIF 赤峰JGN 嘉峪关NTG 南通YNJ 延吉CIH 长治JHG 西双版纳PEK 北京首都机场YNT 烟台CKG 重庆JIL 吉林PVG 上海浦东ZAT 昭通CNI 长海JIU 九江SHA 上海虹桥ZHA 湛江CSX 长沙JJN 泉州晋江SHE 沈阳ZHD 中甸CTU 成都JMU 佳木斯SHP 秦皇岛ZUH 珠海CZX 常州JNG 济宁SHS 沙市ZYI 遵义DAT 大同JNZ 锦州SIA 西安DAX 达县JUZ 衢州SWA 汕头DDG 丹东KCA 库车SYM 思茅DIG 迪庆香格里拉KHG 喀什SYX 三亚DLC 大连KHN 南昌SZX 深圳DLU 大理KMG 昆明TAO 青岛DNH 敦煌KNC 吉安TEN 铜仁DYG 张家界KOW 赣州TGO 通辽ENH 恩施KRL 库尔勒TNA 济南ENY 延安KRY 克拉玛依TSN 天津FOC 福州KWE 贵阳TXN 黄山FUG 阜阳KWL 桂林TYN 太原FUO 佛山LHW 兰州URC 乌鲁木齐GHN 广汉LIA 梁平UYN 榆林GOQ 格尔木LJG 丽江WEF 潍坊部分航空公司代码表代码中文名称代码中文名称AA 美国航空公司LY 以色列空公司AC 加拿大航空公司MA 匈牙利航空公司AF 法国航空公司MF 厦门航空公司AI 印度航空公司MH 马来西亚航空公司AY 芬兰航空公司MU 中国东方航空公司AZ 意大利航空公司NH 全日空航空公司BA 英国航空公司NW 美国西北航空公司BI 汶莱航空公司NZ 新西兰航空公司BR 长荣航空公司OA 希腊奥林匹克航空公司CA 中国国际航空公司OM 蒙古航空公司CI 中华航空公司OS 毛利航空公司CO 大陆航空公司OZ 韩亚航空公司CX 国泰航空公司PK 巴基斯坦航空公司CZ 中国南方航空公司PR 菲律宾航空公司DL 三角航空公司QF 澳洲航空公司FK 阿联酋航空公司QR 卡塔尔航空公司MS 埃及航空公司RG 巴西航空公司FM 上海航空公司SA 南非航空公司ET 埃塞阿比亚航空公司SC 山东航空公司FI 冰岛航空公司SK 北欧航空公司GA 嘉鲁达印度尼西亚航空公司SQ 新加坡航空公司GE 台湾复兴航空公司TG 泰国航空公司GF 海湾航空公司TK 土耳其航空公司HU 海南航空公司UA 美国联合航空公司IB 西班雅航空公司UM 津巴布韦航空公司JL 日本航空公司UL 斯里兰卡航空公司JS 朝鲜航空公司UX 西班牙欧洲航空公司KA 港龙航空公司VN 越南航空公司KE 大韩航空公司VS 维珍航空公司KL 荷兰航空公司ZH 深圳航空公司KU 科威特航空公司3U 四川航空公司LH 汉莎航空公司6U 乌克兰航空公司LO 波兰航空公司月份和星期缩写JAN 一月FEB 二月MAR 三月APR 四月MAY 五月JUN 六月JUL 七月AUG 八月SEP 九月OCT 十月NOV 十一月DEC 十二月SUN 星期日MON 星期一TUE 星期二WED 星期三THU 星期四FRI 星期五SAT 星期六日常工作流程登录查询信息查询及辅助功能建立PNR特殊服务SSRPNR提取和修改公布运价的查询BSP打票国际运价查询电子客票常用指令Q信箱处理手工输入API信息--------------------------------------------------------------------------------登录1.进入系统>$$OPEN TIPC32.输入工作号>SI:工作号/密码3.查看PID状态>DA4.退出系统>SO5.修改密码>AN:旧密码/新密码6.随时查看SIGN-IN信息>SIIF:7.指令使用帮助>HELP: 指令8.屏幕向上一页>PB9.屏幕向下一页>PN10.清屏指令>CP11.重复显示当前页>PG12.一屏显示所有内容>PN1返回目录--------------------------------------------------------------------------------查询1. 航班座位可利用显示>AV: H/城市对/日期/时间/ 航空公司代码(或GDS代码)2. 最早有座位航班查询>FV: 城市对/日期/起飞时间/座位数/航空公司代码(或GDS代码)/经停标志/ 舱位3. 航班飞行周期的查询>SK: 城市对/日期/时间/航空公司代码/ 舱位4. 航班经停点和起降时间的显示指令>FF: 航班号/日期5. 指定日期的航段上的航班详细信息显示>DSG:C/航班号/座位等级/日期/航段或RT之后,>DSG: 航班序号返回目录--------------------------------------------------------------------------------信息查询及辅助功能一、24小时北京天气预报WF >WF 城市三字代码二、机场转机信息查询DSM >DSM: PEK三、机场、国家、航空公司代码查询CNTD/CD1)查询城市三字代码>CNTD T/BEIJING2)查询城市名称>CD PEK3)查询一个国家所有城市>CNTD A/CN4)查询国家全称>CNTD C/CN5)查询国家两字码>CNTD N/CHINA6)查询航空公司信息>CNTD D/CA7)查询航空公司两字代码>CNTD M/AIR CHINA四、计算CO1)四则运算>CO 100+22)计算北京和巴黎的时差>CO T/PEKCDG3)显示巴黎10月1日0点的GMT标准时间>CO T/CDG/1OCT/00004)英里换算成公里>CO K/英里数5)公里换算成英里>CO M/公里数五、日期查询DATE1)显示当前日期和星期几>DATE2)显示10天,90天后的日期>DATE 10/903)显示2004年1月1日的前2天,及后20天的日期>DATE 1JAN04/-2/20六、时间查询TIME1)显示当前时间>TIME2)北京时间2004年1月1日零点的巴黎时间>TIME 1JAN04/0000/CDG3)纽约时间2004年1月1日零点的北京、巴黎时间>TIMENYC/1JAN/0000/PEK/CDG七、长度、重量、温度换算CV1)100公里换算成英里>CV 100KM2)100英里换算成公里>CV 100MI3)摄氏35度转化为华氏度>CV 35C4)华氏95度转化为摄氏度>CV 95F5)10英镑转化为公斤>CV 10LB6)10公斤转化为英镑-磅>CV 10KG八、查询中文信息YI1)显示所有静态信息的目录>YI2)显示不含副标题的公告>YI标题3)显示有副标题的公告>YI I/某标题九、旅游信息查询TIM1)查询签证信息>TIM TIFV2)查询健康检疫信息>TIM TIFH3)同时查询签证、健康检疫信息>TIM TIFA4)查询与出入境有关的信息>TIM TIDFT/城市/章节/小标题/页码5)显示TIM帮助功能>TIM TIHELP6)显示TIM中有关规则>TIM TIRULES7)显示综合旅游信息新闻>TIM TINEWS8)显示下一页>TIPN9)显示上一页>TIPB返回目录--------------------------------------------------------------------------------建立PNR一、航段预订1)直接建立航段组SS>SS CA1537/Y/1OCT/PEKNKGNN1/1225 14002)间接建立航段组SD>AV PEKCAN>SD 1Y13)OPEN航段的建立SN>SN YY/F/PEKCAN>SN CZ/F/PEKCAN4)ARNK段的建立SA >SA TSNPEK5) 旅客行程提示>SA MU5119Y1OCT SHAPEK HK6)调整航段顺序CS>CS 2/1二、姓名输入NM1)英文姓名的输入>NM 1STEPHEN/HAETTI 1ZHU/QI2)同姓旅客英文名的输入>NM 2ZHANG/JIAN/QIANG3)中文姓名的输入>NM 1杨振振1马永4)无人陪伴儿童姓名输入>NM 1马晓涌(UM4)5)带一个婴儿的成人输入姓名>NM 1马永>XN IN/马晓涌INF(MAR01)P16)建立一个团名为CHANGYOU的12人的团体PNR>GN 12CHANGYOU三、联系方式CT >CT PEK/1234567四、证件信息输入SSR (注意:CA表示相应的航空公司代码)1) 国内旅客>SSR FOID CA HK/证件代码及号码/Pn 证件种类代码:NI-身份证;PP-护照;ID-其他证件2) 国际旅客>SSR PSPT CA HK/护照号码/国籍/旅客生日/旅客姓/旅客名/性别及婴儿标识/持有人标识/Pn注:下划线部分为必输项五、出票时限TKTL >TK:TL/1200/01OCT/BJS123六、手工票号输入TKT>TKT/783-2203752149/P1七、票价信息的简易输入FC/FN 八、选择制定航段进行票价计算或打票SEL>SEL: 指定航段序号九、国内BSP客票自动生成FN/FC/FP项:>PAT:十、国际客票经过QTE/XS FSQ, 自动生成FN/FC项:>DFSQ:十一、付款方式组FP>FP:CASH/ CHECK,CNY十二、签注信息组EI 十三、旅游代码组TC (一般按照航空公司要求输入) 十四、打票预览TKTV>TKTV: 打票机序号十五、票号自动传输STN>STN: 票号/Pn/指定航段序号十六、客票打印DZ打印PNR中所有人的客票>DZ:1仅打印第一个成人所携带的婴儿客票>DZ:1/P1, INF仅打印第一个成人的客票>DZ:1/P1, ADL打印PNR中所有婴儿客票>DZ:1,INF打印PNR中所有成人客票>DZ:1, ADL返回目录--------------------------------------------------------------------------------特殊服务SSR一、查看航班座位图ADM>ADM:航段序号/航段二、进行机上座位预订ASR>ASR: 航段序号/座位号三、里程输入>SSR FQTV承运航空公司代码HK1/发卡航空公司代码卡号/Pn四、其他特殊服务的申请>SSR 特殊服务代码航空公司NN数量/Pn/Sn常用特殊服务代码:机位申请NSSA:无烟靠走廊的座位NSSW:无烟靠窗的座位NSST:无烟座位SMSA:吸烟靠走廊的座位SMSW:吸烟靠窗的座位SMST:吸烟座位特殊餐食AVML:亚洲素食BLML:流食CHML:儿童餐DBML:糖尿病患者餐FPML:水果拼盘SFML:海洋餐HFML:高纤维餐HNML:印度餐BBML:婴儿餐KSML:犹太教餐LCML:低卡路里餐LFML:低胆固醇、低脂肪餐LSML:无盐餐MOML:穆斯林餐VLML:素食(含糖、鸡蛋) VGML:素食(无糖)其他PETC:宠物(需要详细说明) BSCT:摇篮车/吊床/婴儿摇篮BIKE:自行车(须说明数量) SLPR:机舱内床铺(不包括担架)BLND:盲人旅客(如果有导盲犬或其他动物陪伴,须详细说明)BULK:超大行李(须说明数量、重量和尺寸)CBBG:放置机舱行李(购买了额外座位,须说明数量,重量及尺寸)DEAF:聋哑旅客(如果有助听狗或其他动物陪伴,须详细说明)DEPA:被驱逐出境(有人陪伴) DEPU:被驱逐处境(无人陪伴)XBAG:额外行李(须说明数量、重量和尺寸)FRAG:易碎行李(须说明数量、重量和尺寸)MEDA:健康状况(需要旅客医疗状况证明)SPEQ:体育设施(须指明设备类型、数量、重量和尺寸)STCR:担架旅客UMNR:无人陪伴儿童返回目录--------------------------------------------------------------------------------PNR提取和修改一、PNR提取1)记录编号提取PNR >RT 记录编号2)根据旅客名单提取PNR >RT旅客姓名/航班号/日期3)提取完整PNR >RT C/记录编号4)提取PNR的历史部分>RT U5)返回到PNR的现行部分>RT A6)按照航班的旅客名单提取>ML C/CA1301/10DEC >RT 序号7) 提取本部门在该航班的所有订座记录(RR、HK、HN、HL、HX)>ML C/CA1321/7OCT8)提取所有团体PNR记录>ML G/CA1321/7OCT9)提取所有订妥座位的记录>ML B/CA1321/7OCT10)提取所有未证实座位的记录>ML U/CA1321/7OCT11)提取所有非团体PNR记录>ML NG/CA1321/7OCT二、国内航空公司记录的提取和转换>RRT: V/航空公司记录编号/航班号/日期>@OK三、记录分离SP >SP 1/3四、记录修改1)旅客姓名修改>1/1杨振2)删除姓名组以外的内容>XE 序号3)取消PNR>XEPNR@五、记录封口@1)正常封口>@2)以下几种情况可使用@K封口>@Ka)将KK,KL或TK变为HKb)将UU,US或TL变为HLc)将TN变为HNd)将带有NI,UC,UN的项移到PNR的历史部分3)以下情况可使用@I封口>@Ia)航段不连续b)有航班变更标识c)两个连接航段的停留时间小于最小连接时间返回目录--------------------------------------------------------------------------------公布运价的查询一、国内公布运价查询:1).查询城市对间当前可用票价FD>FD:城市对/日期/航空公司代码/查询选项(S排序由低到高;L最低价)2).运价限制条件信息查询PFN>PFN: 规则号/ 承运人或在FD的基础上>PFN: 运价序号3).查询运价的航线限制PFR在FD基础上有航线限制标识的情况下>PFR: 运价序号二、航空公司净价查询:(需要航空公司授权)1.查询运价总则>NFN:GR00/CA2.按城市对查询票价信息:>NFD:PEKLON/CA3.指定旅行日期查询:>NFD:PEKLON/21MAY04/CA4.查询单程票价>NFD:PEKLON/CA*OW5.查询M舱票价>NFD:PEKLON/CA#M6.查询运价基础为HIT的票价>NFD:PEKLON/CA@HIT7.查询学生票价>NFD:PEKLON/CA*SD8.查询团队票价>NFD:PEKLON/CA*GC9.显示第3条票价的规则限制>NFN:310.显示第3条票价的航线规定>NFR:311.显示第4条票价的签注信息>NFE:412. 修改查询条件,快速重新查询票价:>NFC:13.指定航线查询>NFQ:PEK15MAY04LONPEK/CA14. 按协议查询>NFL:/CA15. 显示第2条协议的内容>NFL:216.显示第2条协议中的所有票价>NFL:2*ALL操作流程示例:某北京旅客要在5月1日去新加坡或吉隆坡,5月7日回北京,希望获得最便宜的往返客票。
航空订票系统代码
cin> >p->Priee[0];
eout<<"8.请设定二等舱的价格:"<<endl;
cin> >p->Price[1];
eout<<"9.请设定三等舱的价格:"<<endl;
cin> >p->Price[2]; p->ReplName=new Replace; p->CustName=new Customer; p->CustName-> next=NULL; p->ReplName-> next=NULL; p->ReplaeePas=0;
cout<<e ndl;
cout<<e ndl;
break;
}
}
}
}
void FlightBuyticket() <<Cus2->SeatNum++<<"";
/}\
cout<<e ndl;
if (q->CustName-> next==NULL)
/{\
Cusrear=q->CustName;
Cusrear- >n ext=Cus2;
#in elude<>
#in elude <> void Flightl nsert();设定起点站名:"<<e ndl;
cin> >p_>From;
飞机订票系统(C语言代码及流程图)
目录第一部分源程序---------------------------------------------------3第二部分函数流程图--------------------------------------------11 menu()-----------------------------------------------------12 enter()-----------------------------------------------------13 input()-----------------------------------------------------14 browse()---------------------------------------------------15 menu1()---------------------------------------------------16 order()-----------------------------------------------------17 search_time()---------------------------------------------18 search_end()----------------------------------------------19 search()----------------------------------------------------20 book()------------------------------------------------------21 back()------------------------------------------------------22 save()------------------------------------------------------23 load()------------------------------------------------------24 第三部分心得体会------------------------------------------------25第一部分:源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 1000typedef struct plane{char ID[10]; /*航班代号*/char BePlace[10];/*飞机起飞地点*/char EnPlace[10];/*飞机降落终点*/char data[15];/*飞机起飞时间*/int max;/*飞机最大乘客人数*/int price;/*飞机票价*/int num;/*飞机已售票数*/}PLANE;PLANE ti[N];int n;/*当前的航班数目*/void menu();void menu1();void input(int i){printf("请输入航班代号:\n");scanf("%s",ti[i].ID);printf("请输入起飞地点:\n");scanf("%s",ti[i].BePlace);printf("请输入降落地点:\n");scanf("%s",ti[i].EnPlace);printf("请输入起飞时间:\n");scanf("%s",ti[i].data);printf("请输入航班的最大载客人数:\n");scanf("%d",&ti[i].max);printf("请输入航班的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;}void enter(){int i;system( "cls" );printf("请输入航班的数目(0-%d)?:",N);scanf("%d",&n); /*要输入的记录个数*/printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("\n请输入第%d 航班记录.\n",i+1);input(i); /*调用输入函数*/}getchar();menu();}void printf_one(int i) /*显示一个记录的函数*/{printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace ,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i);printf("\n");}getchar();getchar();menu();}void order() /*排序模块(按平均成绩)*/{int i,j;struct plane s;system( "cls" );for(i=0;i<n;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if(strcmp(ti[i].data,ti[j].data)>0){s=ti[i];ti[i]=ti[j];ti[j]=s;}}browse();}void search_time(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the time:");scanf("%s",s.data); /*输入出发的时间*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void serch_end(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the end Place:");scanf("%s",s.EnPlace); /*输入要到达的地方*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void menu1(){int n,w1;do{system( "cls" ); /*清屏*/puts("\t\t\t\t 飞机售票操作!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.按照时间排序");puts("\t\t\t\t2.按照时间查找航班");puts("\t\t\t\t3.按照地点查找航班");puts("\t\t\t\t4.返回主菜单");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-4): [ ]\b\b");scanf("%d",&n);if(n<1||n>4) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 4,Please input again:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:order();break;case 2:search_time();break;case 3:serch_end();break;case 4:menu();break;}}int search() /*查找模块*/{int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n请输入要订票的起飞地点:");scanf("%s",s.BePlace); /*输入要到达的地方*/printf("\n\n请输入要订票的降落地点:");scanf("%s",s.EnPlace);printf("\n\n请输入要订票的起飞时间:");scanf("%s",s.data); /*输入出发的时间*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.dat a,ti[i].data)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进入售票窗口!\n");i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n该趟航班票已售完!");}else{ti[i].num++;printf("\n订票成功!\n");}}elseprintf("该航班不存在!\n");getchar();getchar(); /*按任意健*/menu();}void back(){int i,k=-1;struct plane s;system( "cls" );printf("欢迎进入退票窗口!\n");printf("\n\n输入航班代号:");scanf("%s",s.ID); /*输入要到达的地方*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");}else{ti[i].num--;printf("\n退票成功!\n");}getchar(); /*按任意健*/getchar(); /*按任意健*/menu();}void save(){int w=1;FILE *fp;int i;system( "cls" );if((fp=fopen("D:\\我的文档\\桌面\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的记录被覆盖*/{printf("\nCannot open file\n");return ;}for(i=0;i<n;i++)if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1){printf("file write error\n");w=0;}if(w==1){printf("file save ok!\n");}fclose(fp);getchar();getchar();menu();}void load(){FILE *fp;int i,w;w=1;system( "cls" );if((fp=fopen("D:\\我的文档\\桌面\\ticket.txt","rt"))==NULL){printf("\nCan not open file\n");w=0;return;}n=0;for(i=0;!feof(fp);i++){fread(&ti[i],sizeof(struct plane),1,fp);n++;}n=n-1;fclose(fp);if(w==1)printf("Load file ok!");getchar();getchar();menu();}void menu(){int n,w1;do{system( "cls" ); /*清屏*/ /*清屏*/puts("\t\t\t\t 飞机售票管理系统!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.输入新航班");puts("\t\t\t\t2.浏览");puts("\t\t\t\t3.航班操作");puts("\t\t\t\t4.订票");puts("\t\t\t\t5.退票");puts("\t\t\t\t6.保存");puts("\t\t\t\t7.载入");puts("\t\t\t\t8.退出");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-8): [ ]\b\b");scanf("%d",&n);if(n<1||n>8) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 8,Please input enter to choice again:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:enter();break; /*输入模块*/case 2:browse();break; /*浏览模块*/case 3:menu1();break; /*查找模块*/case 4:book();break; /*订票模块*/case 5:back();break; /*退票模块*/case 6:save();break; /*保存模块*/case 7:load();break; /*加载模块*/case 8:exit(0);}}void main(){menu();}第二部分:函数流程图(2)enter函数流程图第三部分:心得体会(1)开始对c语言只是一种零散的认识,作为一个c语言的初学者对编程没有明确的概念,只是对语句的格式与编程规定有了一个初步了解。
非常重要的旅客代码
非常重要的旅客代码
旅行者预订和航空公司管理系统中常用的旅行者代码包括以下内容:
1. PNR(Passenger Name Record):这是一个由航空公司生成的、用于标识乘客预订信息的编码。
PNR包含乘客姓名、航班、座位等重要信息。
旅客在确认预订时需要提供PNR信息。
2. SSR(Special Service Request):这是一种在旅行计划中预
订附加服务(如餐食、残疾人辅助设施等)的方式。
旅客可以在预订时提出SSR要求,以满足个人需求。
3. OSI(Other Service Information):这是旅客提供的其他服
务需求信息。
例如,旅客可以在OSI中提供有关食品和饮料
喜好、过敏反应和其他注意事项的信息。
4. FFN(Frequent Flyer Number):这是航空公司为旅客颁发
的会员卡号码。
旅客可以在预订时提供FFN,以获得积分和
其他会员福利。
5. E-ticket Number:这是一种纯数字的电子机票号码。
旅客在
确认预订时需要提供E-ticket Number。
航空订票系统代码
航空订票系统代码集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)#include <iostream.h>#include <string.h>void FlightInsert(); //增加路线void FlightDelete();//删除路线void FlightLookup();//航班查询void FlightRework();//航班路线修改void FlightBuyticket();//买票void FlightCancelticket();//取消订票void Flightclean();//清空void MainMenu();//主函数void Display();//显示订票信息typedef struct Customer //已定票乘客信息{char Name[10]; //姓名int Amount; //定票数int Level; //舱位等级int SeatNum; //座位号char FlightNum[10]; //所定航班号struct Customer *next;}Customer;typedef struct Replace //侯补乘客信息{char Name[10]; //姓名eint Amount; //定票数int Level; //舱位等级char FlightNum[10]; //所定航班号struct Replace *next;}Replace;typedef struct Flight //航班路线信息{char From[10]; //起点站名char Des[10]; //终点站名char FlightNum[10]; //航班号char PlaneNum[10]; //航班char Week[20]; //飞机周日int Ration; //乘员定额int FreeTicket; //剩余票数float Price[3]; //票价int ReplacePas; //候补乘客数Replace *ReplName; //该航班的候补乘客名单Customer *CustName; //该航班的已定票乘客名单struct Flight *next; //指示下一航班路线结点}Flight,*PFlight;int Ration=0; //乘客总数Flight *head; //建立航班路线头结点Flight *rear; //建立航班路尾结点Customer *Cusrear;Replace *Reprear;void MainMenu(){int i=0;while (i!=8){cout<<endl;cout<<" ***************【欢迎使用航空订票系统】***************"<<endl;cout<<" "<<endl;cout<<" ***************【按1】增加航班路线***************"<<endl;cout<<" "<<endl;cout<<" ***************【按2】查询航班路线***************"<<endl;cout<<" "<<endl;cout<<" ***************【按3】修改航班路线***************"<<endl;cout<<" "<<endl;cout<<" ***************【按4】预订飞机票***************"<<endl;cout<<" "<<endl;cout<<" ***************【按5】退订飞机票***************"<<endl;cout<<" "<<endl;cout<<" ***************【按6】清空系统***************"<<endl;cout<<" "<<endl;cout<<" ***************【按7】已订票名单***************"<<endl;cout<<" "<<endl;cout<<" ***************【按8】退出系统***************"<<endl;cout<<" "<<endl;cout<<" *提示:当前为主菜单"<<endl;cin>>i;switch(i){case 1:FlightInsert();break; //增加航班路线case 2:FlightLookup();break; //查询航班路线case 3:FlightRework();break; //修改航班路线case 4:FlightBuyticket();break; //预订飞机票case 5:FlightCancelticket();break; //退订飞机票case 6:Flightclean();break; //清空系统case 7:Display();break;case 8:;break;default:cout<<"*提示:抱歉,请选择正确的操作!"<<endl;cout<<endl;cout<<endl;break;}}}void FlightInsert() //航班录入{/*int i=2;while(i!=1){*/Flight *p;p=new Flight;cout<<"****正在设定新的路线****"<<endl; cout<<endl;cout<<"1.请设定起点站名:"<<endl; cin>>p->From;cout<<"2.请设定终点站名:"<<endl; cin>>p->Des;cout<<"3.请设定航班号:"<<endl;cin>>p->FlightNum;cout<<"4.请设定飞机号:"<<endl;cin>>p->PlaneNum;cout<<"5.请设定飞行周日:"<<endl; cin>>p->Week;cout<<"6.请设定乘员定额:"<<endl; cin>>p->Ration;p->FreeTicket=p->Ration;cout<<"7.请设定一等舱的价格:"<<endl; cin>>p->Price[0];cout<<"8.请设定二等舱的价格:"<<endl; cin>>p->Price[1];cout<<"9.请设定三等舱的价格:"<<endl; cin>>p->Price[2];p->ReplName=new Replace;p->CustName=new Customer;p->CustName->next=NULL;p->ReplName->next=NULL;p->ReplacePas=0;rear->next=p;rear=p;rear->next=NULL;cout<<"设置成功!"<<endl;cout<<"***********************"<<endl;cout<<endl;/*cout<<"【按1】返回主菜单【按2】继续"<<endl;cin>>i;}*/}void FlightLookup() //查询航班号{Flight *p,*q;char FlightNum[10];p=head;int i=0;while (i!=1){cout<<"请输入需要查询的航班号:"<<endl;cin>>FlightNum;while (p->next && strcmp(p->next->FlightNum,FlightNum)){p=p->next;}q=p->next;if (q==NULL){cout<<"*提示:对不起,不存在此航班号,请核实您的信息!"<<endl;}else{cout<<"以下是您所查的车次信息:"<<endl;cout<<"************************"<<endl;cout<<"* 1.航班号: "<<q->FlightNum<<endl;cout<<"* 2.飞机号: "<<q->PlaneNum<<endl;cout<<"* 3.起点站: "<<q->From<<endl;cout<<"* 4.目的地: "<<q->Des<<endl;cout<<"* 5.飞机周日: "<<q->Week<<endl;cout<<"* 6.成员定额: "<<q->Ration<<endl;cout<<"* 7.剩余票数: "<<q->FreeTicket<<"张"<<endl;cout<<"* 8.候补乘客数: "<<q->ReplacePas<<"人"<<endl;cout<<"* 9.一等舱的价格: "<<q->Price[0]<<"元"<<endl;cout<<"* 10.二等舱的价格: "<<q->Price[1]<<"元"<<endl;cout<<"* 11.三等舱的价格: "<<q->Price[2]<<"元"<<endl;cout<<"************************"<<endl;}cout<<"您还需要其他的操作么?"<<endl;cout<<endl;cout<<"【按1】返回主菜单【按2】继续操作"<<endl;cin>>i;cout<<"************************"<<endl;cout<<endl;}}void FlightRework() //修改航班路线信息{int Customer_Number ;Flight *p,*q;char FlightNum[10];int i=0;int a=1;p=head;cout<<"请输入需要修改的航班:"<<endl;cin>>FlightNum;while (p->next&&strcmp(p->next->FlightNum,FlightNum)){p=p->next;}q=p->next;if (q==NULL){cout<<"*提示:对不起,不存在此航班,请核实您的信息!"<<endl;}else{while(a){cout<<" *******【请输入需要修改的数据】*******"<<endl;cout<<" "<<endl;cout<<" 【按1】航班号"<<endl;cout<<" "<<endl;cout<<" 【按2】飞机号"<<endl;cout<<" "<<endl;cout<<" 【按3】起始站"<<endl;cout<<" "<<endl;cout<<" 【按4】目的地"<<endl;cout<<" "<<endl;cout<<" 【按5】每周出站日期"<<endl;cout<<" "<<endl;cout<<" 【按6】成员定额"<<endl;cout<<" "<<endl;cout<<" 【按7】一等舱的价格"<<endl;cout<<" "<<endl;cout<<" 【按8】二等舱的价格"<<endl;cout<<" "<<endl;cout<<" 【按9】三等舱的价格"<<endl;cout<<" "<<endl;cout<<" 【按10】退出"<<endl;cout<<" "<<endl;cout<<"**************************************"<<endl;cin>>i;switch(i){case 1:cout<<"1.请输入航班号:"<<endl;cin>>q->FlightNum;break;case 2:cout<<"2.请输入飞机号:"<<endl;cin>>q->PlaneNum;break;case 3:cout<<"3.请输入起始站:"<<endl;cin>>q->From;break;case 4:cout<<"4.请输入目的地:"<<endl;cin>>q->Des;break;case 5:cout<<"5.请输入飞机周日:"<<endl;cin>>q->Week;break;case 6:cout<<"6.请输入乘员定额:"<<endl;Customer_Number=q->Ration-q->FreeTicket;cin>>q->Ration;q->FreeTicket=q->Ration-Customer_Number;break;case 7:cout<<"7.请输入一等舱的价格:"<<endl;cin>>q->Price[0];break;case 8:cout<<"8.请输入二等舱的价格:"<<endl; cin>>q->Price[1];break;case 9:cout<<"9.请输入三等舱的价格:"<<endl;cin>>q->Price[2];break;case 10:a=0;break;default:cout<<"*提示:对不起,请选择正确的操作!"<<endl;cout<<endl;cout<<endl;break;}}}}void FlightBuyticket() //订票{int Ticket_Amount;void Buyticket(PFlight ,int );void Buyreplace(PFlight ,int ,int );Flight *p,*q;char Des[10];int i=2;while (i!=1){cout<<"请输入目的地:"<<endl;cin>>Des;p=head;while (p->next&&strcmp(p->next->Des,Des)){p=p->next;}q=p->next;if (q==NULL){cout<<"*提示:对不起,不存在此航班,请核实您的信息!"<<endl;}else{while(i!=1){cout<<"请输入需要购买的票数:"<<endl;cin>>Ticket_Amount;while(Ticket_Amount==0 && Ticket_Amount<0){cout<<"*提示:对不起,请输入正确的票数!"<<endl;cout<<endl;cout<<"请输入需要够买的票数:"<<endl;cin>>Ticket_Amount;}if (Ticket_Amount<=q->FreeTicket){Buyticket(q,Ticket_Amount);}else{int n;cout<<"*提示:抱歉!剩余票数小于定票数,是否需要列入候补名单?(【按1】是【按2】否)"<<endl;cin>>n;Buyreplace(q,Ticket_Amount,n);}cout<<endl;cout<<"【按1】返回主菜单【按2】继续"<<endl;cin>>i;}}}}void FlightCancelticket() //退票{void Buyticket(PFlight ,int );Flight *p,*q;Customer *h,*j;char FlightNum[6];char Customer_Name[10];int Replace1_Amount; //候补第一个人的定票数int i;cout<<"**********************************"<<endl;while (i!=1){cout<<"请输入需要退定的航班号:"<<endl;cin>>FlightNum;p=head;while (p->next&&strcmp(p->next->FlightNum,FlightNum)){p=p->next;}q=p->next;if (q==NULL){cout<<"*提示:对不起,不存在此航班,请核实您的信息!"<<endl;}else{while (i!=2){cout<<"请输入所查姓名:"<<endl;cin>>Customer_Name;h=q->CustName;while (h->next&&strcmp(h->next->Name,Customer_Name)){h=h->next;}j=h->next;if(j==NULL){cout<<"*提示:对不起,查无此人,请核实您的信息!"<<endl;cout<<endl;}else{if(j->next==NULL){ //当删除最后一个结点Cusrear=h;}h->next=h->next->next;q->FreeTicket+=j->Amount;delete j;cout<<"*提示:退票成功!"<<endl;if(q->ReplName->next!=NULL){Replace1_Amount=q->ReplName->next->Amount;if (Replace1_Amount<=q->FreeTicket){Replace *rep;rep=q->ReplName->next;Customer *Cus2;Cus2=new Customer;Cus2->SeatNum=q->Ration-q->FreeTicket+1;strcpy(Cus2->FlightNum, q->FlightNum );strcpy(Cus2->Name, rep->Name );Cus2->Amount=rep->Amount;Cus2->Level=rep->Level;cout<<"*提示:"<<endl;cout<<endl;cout<<"候补乘客:"<<rep->Name<<" 已经成功买票! "<<endl;cout<<endl;cout<<"航班号:"<<Cus2->FlightNum<<endl;cout<<"舱位等级为:"<<rep->Level<<"(1一等舱,2二等舱,3三等舱)"<<endl;cout<<"座位号为:"<<endl;for(int i=1;i<=(rep->Amount);i++){cout<<"No."<<Cus2->SeatNum++<<" ";}cout<<endl;if (q->CustName->next==NULL){Cusrear=q->CustName;Cusrear->next=Cus2;Cusrear=Cus2;Cusrear->next=NULL;}else{Cusrear->next=Cus2;Cusrear=Cus2;Cusrear->next=NULL;}q->FreeTicket-=rep->Amount;q->ReplName->next=q->ReplName->next->next;q->ReplacePas--;delete rep;}}}break;}}cout<<"【按1】返回主菜单,或按任意键返回【继续退票操作】!"<<endl;cout<<endl;cin>>i;}}void Flightclean()//清空{head->next=rear->next;cout<<"*提示:系统已经清空!"<<endl;cout<<endl;}void Buyticket(PFlight q,int Ticket_Amount) //买票{int n=Ticket_Amount;Customer *Cus2;Cus2=new Customer;Cus2->SeatNum=q->Ration-q->FreeTicket+1;strcpy(Cus2->FlightNum, q->FlightNum );Cus2->Amount=Ticket_Amount;cout<<"1.请输入姓名:"<<endl;cin>>Cus2->Name;cout<<"2.请输入购买票的类型:"<<endl;cout<<"【按1】一等舱,【按2】二等舱,【按3】三等舱"<<endl;cin>>Cus2->Level;cout<<"*提示:订票成功!"<<endl;cout<<endl;cout<<"舱位等级:"<<" "<<Cus2->Level<<endl;cout<<"座位号为:"<<endl;for(int i=1;i<=Ticket_Amount;i++){cout<<"No."<<Cus2->SeatNum++<<" ";}cout<<endl;if (q->CustName->next==NULL){Cusrear=q->CustName;Cusrear->next=Cus2;Cusrear=Cus2;Cusrear->next=NULL;}else{Cusrear->next=Cus2;Cusrear=Cus2;Cusrear->next=NULL;}q->FreeTicket-=Ticket_Amount;}void Buyreplace(PFlight q,int Ticket_Amount,int n) //进入候补队列{Replace *Rep2;Rep2=new Replace;if(n==1){q->ReplacePas+=Ticket_Amount;strcpy(Rep2->FlightNum,q->FlightNum);Rep2->Amount=Ticket_Amount;cout<<"1.请输入姓名:"<<endl;cin>>Rep2->Name;cout<<"2.请输入购买票的类型:"<<endl;cout<<"【按1】一等舱,【按2】二等舱,【按3】三等舱"<<endl;cin>>Rep2->Level;if(q->ReplName->next==NULL){Reprear=q->ReplName;Reprear->next=Rep2;Reprear=Rep2;Reprear->next=NULL;}else{Reprear->next=Rep2;Reprear=Rep2;Reprear->next=NULL;}}}void Display()//显示订票信息{cout<<"*提示:抱歉,该项目还在开发!"<<endl;cout<<endl;int i;cout<<"【按1】返回至主菜单"<<endl;cin>>i;while(i=1){break;}/*Customer *h,*j;char Customer_Name[10];int i;while (i!=2){cout<<"请输入所查姓名:"<<endl;cin>>Customer_Name;h=q->CustName;while (h->next&&strcmp(h->next->Name,Customer_Name)){h=h->next;}j=h->next;if(j==NULL){cout<<"*提示:对不起,查无此人,请核实您的信息!"<<endl;cout<<endl;}else{cout<<}*///Customer *p;//cout<<"已买票的乘客有:"<<endl;//cout<<endl;//cout<<"姓名:"<<p->Name<<"航班号:"<<p->FlightNum<<"订票数:"<<p->Amount<<endl;//cout<<"舱位等级:"<<p->Level<<"座位号"<<p->SeatNum;//Flight *q;//char FlightNum[10];//cout<<"以下是您所查的车次信息:"<<endl;//cout<<"************************"<<endl;//cout<<"* 姓名: "<<q->Name<<endl;//cout<<"* 航班号: "<<q->FlightNum<<endl;//cout<<"* 飞机号: "<<q->PlaneNum<<endl;//cout<<"* 起点站: "<<q->From<<endl;//cout<<"* 目的地: "<<q->Des<<endl;//cout<<"* 飞机周日: "<<q->Week<<endl;//cout<<"* 舱位等级: "<<q->Level<<endl;}*************************************************************** ***************************************#include "AirLineSystem.h"#include<iostream.h>void main() //主程序{Cusrear=new Customer;Reprear=new Replace;head=rear=new Flight;head->next=NULL;MainMenu();}。
航空售票ETERM操作指令
操作手册1.航班信息查询AV:城市对/日期/起飞时间/航空公司代码/经停标志/座位等级“+”表示明天“N”表示经停“D”表示直达2.航班经停点及起降时间的显示 FF:航班号/日期例:FF:1321/19MAY3.票价查询 FD:城市对/航空公司代码例:FD:PEKSHA/CA从已有的AV中查询票价 FD:序号4.订票:(注:请一次性封口)(成人)SD1(航段)Y(舱位)/1(人数)(回车)NM1计算1管理(名字中间用数字1隔开)(回车)TKTL(预定时间)/1200/19MAY/SIA000(回车)SSR FOID MU HK/NI545123152(身份证)(回车)CT4524545(联系电话)(回车)@或\ F12(输入)(儿童)SD1(航段)Y(舱位)/1(人数)(回车)NM1计算CHD1管理CHD(名字中间用数字1隔开,在名字后面加上CHD标志)(回车)TKTL(预定时间)/1200/19MAY/SIA000(回车)CT4524545(联系电话)(回车)@或\ F12(输入)(婴儿)与大人在同一个记录,但是婴儿不占座位(回车)SD1(航段)Y(舱位)/1(人数)(回车)NM1计算1管理(名字中间用数字1隔开)(回车)TKTL(预定时间)/1200/19MAY/SIA000(回车)XN:IN/名字INF(出生月和年)/P1(回车)SSR FOID MU HK/NI545123152(身份证)(回车)CT4524545(联系电话)(回车)@或\ F12(输入)5.订票:(成人)SD1(航段)Y(舱位)/1(人数)(F12)NM1计算1管理(名字中间用数字1隔开)(F12)TKTL(预定时间)/1200/19MAY/SIA000(F12).SSR FOID MU HK/NI545123152(身份证)(F12)CT4524545(联系电话)(F12)@或\ F12(输入)(儿童)SD1(航段)Y(舱位)/1(人数)(F12)NM1计算CHD1管理CHD(名字中间用数字1隔开,在名字后面加上CHD标志)(F12)TKTL(预定时间)/1200/19MAY/SIA000(F12)CT4524545(联系电话)(F12)@或\ F12(输入)(婴儿)与大人在同一个记录,但是婴儿不占座位(F12)SD1(航段)Y(舱位)/1(人数)(F12)NM1计算1管理(名字中间用数字1隔开)(F12)TKTL(预定时间)/1200/19MAY/SIA000(F12)XN:IN/名字INF(出生月和年)/P1(F12)SSR FOID MU HK/NI545123152(身份证)(F12)CT4524545(联系电话)(F12)@或\ F12(输入)6.做假RRRTSKIKS(记录编号)(输入)XE(出票时限项)(回车)TKT/999-0000000000(假票号)(回车)2RR(把航程项做RR) 输入7.PNR取消整个记录:XEPNR@SKSKI(加记录编号)取消记录中的一个人:XEP1(1代表所取消的第几个人)PNR的历史记录.,先提记录,RTU1要往下翻页:RTC|记录|PN如果是记录往下翻只能翻两次:第一次:RT记录|PN 第二次:RT记录|PN|PN8.团队定位(注请一次性封口)例: AV查询航班(输入)SD1(航段)Y(舱位)/25(人数)(回车)GN:25kxun (回车)TKTL(预定时间)/1200/19MAY/SIA000(回车)CT4524545(联系电话)(回车)@或\ F12(输入)生成记录后再输入名单(注在输入名单的时候最多只能输入一行,然后穿入,不能回车接着输入)团队取消:XEG 取消一人 XEGP1(1是指第几个人)RTN团队记录里已入的名单9.团队订票(独占30秒订票,必须在规定时间内完成订票)10.用短信方法通知客人定票信息首先提出记录编号(输入)RMK MP 电话号码(输入)SMS I/记录编号(输入)11航班时刻显示 SK:选择项/城市对/日期/时间/航空公司代码/舱位例:SK PEKCAN/19MAY 指定日期前后三天内航班信息12 0查询三字代码 CNTD:T/BEIJING查询城市名称 CD:PEK13特殊服务信息(OSI/SSR)国航知音卡 SSR FQTV CA HK/NN………/P1特殊餐食的输入法例:SSR SPML CA NN1 LOW SALT/P1例:SSR VGML CA NN1 P1/S2或:SSR SPML CA NN1 PEKSHA CA1501 Y 19MAY LOW SALT/P1 餐食代码:SPML 特殊餐食申请 VGML 素食(不含奶,蛋制食品)AVML 亚洲素食 VLML 素食(专门牛奶,蛋)LSML 低盐餐 MOML 穆斯林餐ORML 东方餐 BBML 婴儿,儿童餐CHML 儿童餐申请定位SSR OTHS MU(航空公司代码)KK,V(舱位)THANKS计算功能CO加数天气预报WF加所查城市例:WFSIA14儿童,婴儿及豁免的外交官免税输入方法FM:FCNY…../SCNY…../C…../TEXEMPTCN15.国际票定座(注请一次性封口)SD1(航段)Y(舱位)/1(人数)(回车)NM1计算1管理(名字中间用数字1隔开)(回车)TKTL(预定时间)/1200/19MAY/SIA000(回车)SSR FOID MU HK/NI545123152(身份证)(回车)CT4524545(联系电话)(回车)@或\ F12(输入)16国际运价RT记录QTE: 输入注:1.QTE指令最多可以计算16个航段的运价,当航程段超过8段时,QTE后,系统不能立即算出其结果,而是给出一个编码,然后再使用XS FSI/编码,找到其结果2.如果使用XS FSI/编码依然没有结果时,2分钟之后再使用XS FSI/编码提取结果QTE指令的实质是XS FSP或XS FSI指令国际运价NFI显示运价附加规则:XS FSG2 2是QTE中票价的序号17.注共享出来的帐号,可以出电子客票!指令:1.RT记录编号 PAT:A F12输入2.TXE(预出票时限前的序号) F12输入3.ETDZ:2(打票机号) F12输入4.航段RR F12输入先出票在做“RR”18.PID共享出来的帐号可以支持纵横中国的票价及其它指令指令:PAT:#YZZS PAT:#3UZZ 儿童价格输入:PAT:*CH TKTV:打票机号独占30秒指令:30LOCK 永久独占指令:MXLOCK 释放独占:UNLOCK F12输入销售日子查询指令:tsl:c/打票机号翻页:PN做假RR后的出票指令rt记录编号|票号序号at/城市对/./bjs001(代号)|etdz: 打票机号PID服务器共享用户,支持虚拟支付账户,通过eterm在线支付出票虚拟帐户余额查询 fare F12 输入虚拟帐户在线出票指令:1.RT记录编号 PAT:A F12输入2.*记录编号支付指令(如果PID共享里有多个航信配置时,*记录编号&指定office号) F12输入19.大记录转换小记录指令:rrt:v/记录/航班号/日期|rrt:ok20.如果PAT:A穿出来没有票价或是需要修改的票价的,PAT:A穿入不能出来新的FN FC FP,得手工输入FN FC FP1:直接pn:fd tsl nfd nfi tktv qt2:限制xe: 在共享帐号的指令限制里选择LXE,该帐号就只能xe本office号的记录。
eterm系统简单指令
eterm系统简单指令在指令后加上D,只显示所有直飞航班城市名查询三字代码 CNTD T/BEIJING 三字代码查城市名 CD JD通过二字代码查询航空公司名称 CNTD D/JD 提取票号 DETR: TN/票号提取证件号 DETR:NI/身份证号通过票号查票价 DETR:TN/票号,S 通过票号查身份证 DETR:TN/票号,F 通过身份证号查票号 DETR NI/身份证号通过票号查历史记录 DETR:TN/票号,H(DETR:NI/身份证号)查航段价格 FD起点至终点查询一周航班指令 SK:SZXPEK328 查询航班指令:查询当日航班 AVH/SZXPEK 查询明日航班 AVH/SZXPEK+ 按日期查询航班AVH/SZXPEK30mar 按航空公司查询航班 AVH/SZXPEK/CZ 按起飞时间查询航班AVH/SZXPEK/1000A表示有9张以上,S表示锁定,Q表示可以申请查询票价指令:通过航班查询票价 FD:1(航班序号)直接查询票价 FD:SZXPPEK/CZ(指定的航空公司)查询航班的经停点指令:FF:CZ3561/150CT查询一次显示不完的指令:查询下一页 PN (F9)最后一页 PL 查询前一页 PB (F8) 查询当前页 PG1第二节订票指令及操作方法: 1、控制、预定位实例:查询航班AVH/SZXPEK15OCT/D 输入指定航班订位 SD1(航班序号)Y(订座舱位)/2(订座人数)输入旅客姓名 NM1XXX1XXX 小回车旅客联系电话CT25866518 小回车出票时限 TKTL1500/18OCT/SZX638 小回车封口输入 \\或@ 输入形成订座记录编号码由五位英文或数字组成 2、申请位订座实例:(因所需订座的舱位无位,须向控制室申请座位)指定航班订位 SD2Y/LL3 输入申请团 SD2Y/1 GN:人数+公司名称其它步骤与控制订位一致3、儿童订位方法:儿童订位须在姓名后注儿童代码 CHD 如:NM1吴时光CHD 4、婴儿不单独占位,故无需订位:婴儿出票须跟随成人一并出票。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h>#include <string.h>#define maxspace 100#define keylen 7#define radix_n 10#define radix_c 26typedef char keytype;typedef struct{char start[6];char end[6];char sche[10];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 sl[maxspace];int keynum;int length;}sllist;typedef int arrtype_n[radix_n];typedef int arrtype_c[radix_c];void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e) {int j,p;for(j=0;j<radix_n;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;sl[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<radix_n-1){for(j=j+1;j<radix_n-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<radix_c;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) {for(j=0;!f[j];j++);sl[0].next=f[j];t=e[j];while(j<radix_c-1){for(j=j+1;j<radix_c-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,keytype 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,keytype 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%-6s%-11s%-9s%-7s%-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){keytype 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%-6s%-11s%-9s%-7s%-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\n\n");}}}void inputdata(sllist &l){int i=++l.length;char yn='y';while(yn=='y'||yn=='Y'){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].others.time1,l.sl[i].others.time2,l.sl[i].others.model,&l.sl[i].others.price);++i; getchar();radixsort(l);arrange(l);printf("继续输入吗?y/n:"); scanf("%c",&yn);}l.length=i-1;}void main(){sllist l;l.keynum=6;l.length=0;radixsort(l);arrange(l);inputdata(l);searchcon(l);}。