航班信息的查询与检索

合集下载

04座位可利用情况查询

04座位可利用情况查询
航班号 头等舱可 公务舱可 最低票价 用座位数 用座位数 是几折, 折扣代码 9个以上 5 4.5,U …… …… …… …… …… ……

HU7181 …… ……
最低折扣 还有多少 个座位 9个以上 …… ……
例3、4、5按照例2一样都可画表格交上来。
六、指定日期某一时刻指定航空公司指 定舱位、有指定座位数、的最早航班
• 例7.显示从北京到上海20OCT 11:00 左右 F 舱最早有5 个座位的国航的航班。 • >FV:PEKSHA/20OCT/1100/5/CA/F
• 请对比:PEKSHA 20OCT 航班可利用信息。 • >AV:PEKSHA/20OCT
第三章 航班可利用情况查询
• 航班座位情况查询,班期时刻查询,经 停点查询,票价查询,城市代码查询, 航空公司代码查询。查询结果的信息获 取。
本节课讲授的内容
第一节
第二节
座位可利用情况显示 AV(AVH)
最早可利用航班的显示 FV
第一节 座位可利用情况查询 AV
AV指令用于查询航班座位可利用情况 ,及其相关航班信息,如航班号、舱位、 起飞到达时间、经停点等,是一个非常重 要的指令。
N
Q
T
X
U
E
折 扣
150
130
100
90
85
80
75
70
65
60
55
50
45
40
%

• • • • • • • • •
系统输出的内容中,经停点0 后的“^”,为ASR标识,表 示该航班可以为旅客预订航班座位。 显示中的DS# 为该航空公司与CRS 之间的协议级别,不 同的协议级别,获取座位的方式不同,DS# 是最高的协 议级别。若显示AS#,则表示该航班做过时间变更。 FCYSBHKLMQT 为舱位等级。 对应等级的座位可利用情况代号,有以下几种含义: A 可以提供9 个以上座位 1-9 可以提供1-9 个座位,这种情况下系统显示具体的可利 用座位数 L 没有可利用座位,但旅客可以候补 Q 永久申请状态,没有可利用座位,但可以申请(HN) S 因达到限制销售数而没有可利用座位,但可以候补 C 该等级彻底关闭,不允许候补或申请 X 该等级取消, 不允许候补或申请 Z 座位可利用情况不明,这种情况有可能在外航航班上出 现

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

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

信息检索--百度

信息检索--百度

上机1 信息检索——使用搜索引擎(1)信管081刘玉菡1.1 上机目的(1)掌握百度搜索引擎的基本检索技术;(2)了解百度搜索引擎的高级检索技术;1.2 上机内容按照上机实施步骤进行搜索引擎使用练习。

1.3 上机组织运行要求以学生自主训练为主的开放模式组织教学。

1.4 上机条件及要求(1)操作系统:MS Windows 2000、Windows XP SP3、Windows 7或者其他版本操作系统;(2)网络环境:能够访问互联网;1.5 上机实施步骤1.5.1 百度公司概述百度公司(,Inc)于1999年底成立于美国硅谷,它的创建者是资深信息检索技术专家、超链分析专利的唯一持有人――百度总裁李彦宏,及其好友百度执行副总裁徐勇博士。

百度是目前全球最优秀的中文信息检索与传递技术供应商。

中国所有提供搜索引擎的门户网站中,超过80%以上都由百度提供搜索引擎技术支持。

百度搜索引擎由四部分组成:蜘蛛程序、监控程序、索引数据库、检索程序。

百度搜索引擎使用了高性能的“网络蜘蛛”程序自动的在互联网中搜索信息,可定制、高扩展性的调度算法使得搜索器能在极短的时间内收集到最大数量的互联网信息。

百度在中国各地和美国均设有服务器,搜索范围涵盖了中国大陆、香港、台湾、澳门、新加坡等华语地区以及北美、欧洲的部分站点。

百度搜索引擎拥有目前世界上最大的中文信息库,总量达到1亿2千万页以上,并且还在以每天几十万页的速度快速增长。

1.5.2 基本检索技术1.5.2.1 “与”运算与运算可以增加搜索范围。

运算符为“空格”或“+”。

“或”运算为并行搜索。

运算符为“|”。

使用"A | B"来搜索"或者包含关键词A,或者包含关键词B,或者包含A、B"的网页。

例如:您要查询“孙俪”或“邓超”相关资料,无须分两次查询,只要输入“孙俪|邓超”搜索即可。

百度会提供跟“|”前后任何关键词相关的网站和资料。

图1-4 “或”运算示意1.5.2.4 使用双引号或书名号进行精确搜索引号必须是半角符号(即英文符号)。

Angel Newapp用户操作手册 航班控制模块 FDC V1.0

Angel Newapp用户操作手册 航班控制模块 FDC V1.0

中国民航离港航班自动化控制系统用户手册中国民航信息网络股份有限公司2007年01月本手册例子中所用的公司、人名和数据若非特殊申明,均属虚构。

未得到中国民航信息网络股份有限公司明确的书面许可,不得为任何目的、以任何形式或手段(电子或机械的)复制或传播手册的任何部分。

© 2000-2004中国民航信息网络股份有限公司版权所有。

本文档可能涉及中国民航信息网络股份有限公司的专利(或正在申请的专利)、商标、版权或其他知识产权,除非得到中国民航信息网络股份有限公司的明确书面许可协议,本文档不授予使用这些专利(或正在申请的专利)、商标、版权或其他之产权的任何许可协议。

本手册提及的其他产品和公司名称是各自所有者的商标。

目录引言 (5)1.概述 (6)1.1.产品目标 (6)1.2.产品功能 (6)1.3.运行环境 (6)1.3.1.硬件 (6)1.3.2.软件 (7)1.3.3.网络环境 (7)2.产品主要功能 (8)2.1.基本功能 (8)2.1.1.系统登录 (8)2.1.2.退出系统 (11)2.1.3.用户级别与权限 (12)2.2.设置航班监控组 (13)2.2.1.增加监控组 (15)2.2.2.修改监控组 (17)2.2.3.删除监控组 (18)2.3.航班监控 (19)2.3.1.查询航班信息 (20)2.3.2.过滤航班信息 (20)2.3.3.自动刷新已选航班 (21)2.3.4.切换至航班信息修改 (21)2.3.5.添加航班备注 (21)2.3.6.查看航班备注 (22)2.3.7.查看SY、FI信息指令 (22)2.3.8.旅客监控 (23)2.3.9.航班转备份 (23)2.3.10.航班动态消息 (24)2.3.11.自由指令 (26)2.4.换飞机 (26)2.5.航班/旅客信息修改 (32)2.5.1.航班详细信息显示 (32)2.5.2.旅客座位预留/释放 (33)2.5.3.航班基本信息修改 (35)2.5.4.航班座位锁定和释放 (36)2.6.航班初始化 (36)2.6.1.下载航班 (37)2.6.2.选择航班 (38)2.6.3.航班数据比对和修正 (39)2.6.4.航班初始化 (41)2.6.5.锁定坏座 (42)2.7.航班自动初始化 (43)2.8.初始化后批量操作 (46)2.9.导入次日计划 (46)2.9.1.自动获取FCS数据 (49)2.9.2.导入机号 (49)2.9.3.后续操作 (50)2.10.基础信息维护 (50)2.10.1.飞机数据维护 (50)2.10.2.航线信息维护 (55)2.11.FDC备份 (59)2.11.1.主机航班转化为备份航班 (59)2.11.2.本地航班信息修改 (59)2.11.3.本地航班座位控制 (60)2.12.FDC配置 (60)引言中国航信作为中国航空旅游业信息技术解决方案的主导供应商,拥有中国最庞大的实时数据网络之一(中国民航商务通信网络)。

机票基础知识

机票基础知识
航空公司代码
舱位状态
A:可以提供9个以上作为
1-9:可以提供1-9个座位,这种情况下系统显示 具体可利用座位数
L:没有可利用座位,但可以候补(预订时为DW; 形成记录后为HL)
Q:永久申请状态,没有可利用座位,但可以候补 (预订时为NN;形成记录后HN )
S:因达到限制销售数而没有可利用座位,但可以 候补
办理;一般提前一天办理(具体的
情况要咨询当地营业部,北京:
87671796)
3、国内机票的改期、改签
① 改期:是同一航空公司之间更改航班 时间如日期
② 改签:不同航空公司之间更改航班 (只有全价舱以上可以改签)
③ 更改方法:改期与改签一般只有航空 公司可以更改(除JD首都航空)
④ 我们操作改期或改签没有客户在机场 更改的快;
C:该等级彻底关闭,不允许候补或申请
X:该等级取消,不允许候补或申请
查询此航班的所有价格:“FD”+航班序列号
2、国内机票预订
① “SD”+航班序列号+舱位+人数
② 价格查询:PAT:A
③ 姓名输入:
a) 中文名字:NM1姓名 b) 英文姓名:NM1姓/名(或姓/名 中间
名) c) 同姓旅客:如张强,张建
——操作员需知
一、国内
1、国内机票的查询 2、国内机票的预订 3、国内机票的改期、改签 4、国内机票的退票 5、信息的更改 6、国内航班的座位挑选 7、其他 8、民用飞机类型
一、国内
1、国内机票查询
avh/peksha13jan
① 限制时间,在日期后加“/”加时间 ② 限制直飞,在日期后加“/D” ③ 限制航空公司,在日期后面加“/”加
利用票号提取:DETR:TN/票号

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

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

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

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

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

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

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

航班查询任务书

航班查询任务书

沈阳工程学院课程设计设计题目:航班信息的查询与检索系别信息工程系班级软本094学生姓名王诗娟刘云峰学号 02 14指导教师姜柳、吕海华职称副教授、讲师起止日期:2010年12月13日起——至2010年12月24日止沈阳工程学院课程设计任务书课程设计题目:航班信息的查询与检索系别信息工程系班级软本094学生姓名王诗娟刘云峰学号 02 14指导教师姜柳、吕海华职称副教授、讲师课程设计进行地点:实训F座任务下达时间: 2010年 12月 10日起止日期:2010年12月13日起——至2010年12月24日止教研室主任张欣 2010年12月10日批准一、课程设计的原始资料及依据在现代社会,飞机以其快捷,舒适以及其服务的周到使愈来愈多的人选择了飞机为长距离出行的交通工具,这就使航空公司以及机场的工作量愈来愈大,若仍然使用文件或者人工来管理公司、机场、飞机、航班、航线、客户以及售票的信息,那无疑在效率上会大打折扣。

21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。

利用计算机来储存和管理公司、机场、飞机、航班、航线、客户以及售票的信息成为了首选,在这种情况下,一个好的航班信息查询系统就显得非常重要了。

对于本设计,可以采用线性表的结构记录所有航班信息,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其它次关键字的查找可采用简单的顺序查找,因为它们用得较少。

二、课程设计主要内容及要求1. 建立:建立一个线性表的存储结构。

2. 录入功能:输入所有航班信息。

3. 查询功能:输入航班号显示相应数据元素。

输入起点站显示相应数据元素。

输入终点站显示相应数据元素。

输入起飞时间显示相应数据元素。

输入到达时间显示相应数据元素。

4. 退出:退出查询系统。

三、对课程设计说明书撰写内容、格式、字数的要求1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。

数据结构课程设计航班查询与检索含代码流程图输出结果

数据结构课程设计航班查询与检索含代码流程图输出结果

算法与数据结构实验报告航班查询与检索题目:航班查询与检索指导老师:组长:成员:一:航班信息的查询与检索按时间查询:按站点查询:二分法查询:二:算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/三:/*航班信息的查询与检索*/#include<>#include<>#include<>#define N 6 =NULL; queue[i].e=NULL; ==NULL) queue[k].f=p; ->next=p; =p;p=p->next;}i=0;while(queue[i].f==NULL) i++; ; head=queue[i].f; !=NULL){ p->next=queue[i].f; p=queue[i].e; } light_number;cout<<" "<<F[i].start_time;cout<<" "<<F[i].arrived_time;cout<<" "<<F[i].start_address;cout<<" "<<F[i].arrived_address;cout<<" "<<F[i].work_date;cout<<" "<<F[i].FlightType;cout<<" "<<F[i].fare<<"元"<<endl;}light_number,p->;strcpy(F[i].start_time,p->;strcpy(F[i].arrived_time,p->;strcpy(F[i].start_address,p->;strcpy(F[i].arrived_address,p->;strcpy(F[i].work_date,p->;strcpy(F[i].FlightType,p->;F[i].fare=p->;p=p->next;}}show the mainmenu (显示主菜单)\n"<<endl;cout<<" 1. Find by flight number(按航班号查询)\n"<<endl;cout<<" 2. Find by start time(按起飞时间查询)\n"<<endl;cout<<" 3. Find by arrived time(按到达时间查询)\n"<<endl;cout<<" 4. Find by start address(按起飞地点查询)\n"<<endl;cout<<" 5. Find by arrived address(按目的地点查询)\n"<<endl;cout<<" 6. Find by the fare(按票价范围查询)\n"<<endl;cout<<" ----其他键退出"<<endl;cout<<"===========================================================\n"< <endl;while(1){cout<<"请输入服务命令:";cin>>y;switch(y){case 0: mainmenu();break;case 1:F_By_FN(Flight);break;case 2:F_By_Time(Flight,1);break;case 3:F_By_Time(Flight,2);break;case 4:F_By_Address(Flight,1);break;case 5:F_By_Address(Flight,2);break;case 6:F_By_fare(Flight);break;default :cout<<" 谢谢惠顾! "<<endl;break;}cout<<"是否退出(Y/N):";cin>>ch;if(ch=='Y'||ch=='y') break;}}light_number)==0) {Cout_info2_2(F,mid);break;}else if(strcmp(Num,F[mid].flight_number)<0) high=mid-1;else low=mid+1;}cout<<" *************对不起,没有您要查找的航班号********** "<<endl;}tart_time)==0) Cout_info2_2(F,i);}if(Time==2) rrived_time)==0) Cout_info2_2(F,i);}}cout<<" *******对不起,该时间没有航班******* "<<endl;}tart_address)==0) Cout_info2_2(F,i);}if(AD==2) rrived_address)==0) Cout_info2_2(F,i);}}cout<<" ********对不起,该站点不存在******** "<<endl;}are && T2>=F[i].fare) Cout_info2_2(F,i);}cout<<" *******对不起,没有适合您的航班,请修改您的票价范围********" <<endl;}ext=&element[i+1];element[10].next=NULL;radixSort(&p, D, R);我们对链表、队列、结构体的应用更娴熟,为我们更好的了解课本内容,改进不足提供了件。

教你如何使用Google

教你如何使用Google

教你如何使用Google1.搜索在线摄像头监视站点在Google中输入“inurl:"ViewerFrame?Mode="”或者“inurl:"MultiCameraFrame?Mode="”、“inurl:"view/index.shtml"”(输入时不带外面的双引号,在英文状态下输入),你会获得无数个未经加密的网络摄像机监视到的画面。

无聊的时候玩玩,可以满足一下我们的好奇心。

此外,打开这个站点:/hiddencam.php,在“from”中选择“China”,你还可以看到国内的某处网络摄像机画面。

2.让Google搜索结果在新窗口中打开默认情况下Google的搜索结果跟百度等搜索引擎不一样,它是直接在当前网页中打开搜索结果,这对我们的使用会感到不方便,其实我们可以通过设置来达到目的。

打开Google后,选择“使用偏好”链接,在打开页面的“结果视窗”中勾选“开启新视窗以显示查询结果。

”一项,单击“存储偏好设置”按钮即可3.比较两个关键词在Google中搜索结果数量想知道克里和布什谁更火?那就比较一下Google的搜索结果数量就知道了。

打开/,在“Keyword #1”和“Keyword #2”中分别输入“克里”和“布什”,单击“Make a fight!”按钮即可看到他们各自的结果。

笔者试过,克里有741000个搜索结果,布什有4020000个搜索结果,布什获胜!4.让Google来告诉去哪儿旅游想好去哪儿旅游了吗?问问Google吧。

打开/projects/besttimetovisit站点,在“Enter the name of destination”栏中输入你想要去的城市名字,比如“北京”,点击“Go”即可获得结果。

5.有趣的关键字在Google中输入“_*_”这个关键字,不管你是“搜索所有网页”还是“仅搜索中文网页”,你都只能搜索到一大堆中文页面。

航班信息的查询与检索

航班信息的查询与检索

目录21 概述21.1 课程设计名称21.2 课程设计目的21.3 课程设计内容22 系统分析22.1 设计要求22.2 设计分析23 概要设计33.1 系统总流程图33.2 定义数据类型33.3 实现排序的各函数的说明44 详细设计44.1 数据类型的定义44.2 链式基数排序54.2.1 一趟数字字符分配函数错误!未定义书签。

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

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

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

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

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

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

我们可以利用航班的这些信息,通过其中的任意一个信息,找出我们所需要的查找的航班的所有信息,所以,我们可以采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排序好的航班记录按航班号实现快速查找,并按其他关键字的查找可以采用最简单的顺序查找方法进行。

2.2 设计要求1) 提供对航班信息的排序功能2 提供对航班信息的输入输出记录功能找出我们所需要的查找的航班的所有信息3)提供按关键字(航班号)快速查询或顺序查询功能2.3 设计分析对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因为它们用得比较少。

航班信息查询与检索系统概要说明书

航班信息查询与检索系统概要说明书

航班信息查询与检索系统概要说明书1. 引言航班信息查询与检索系统是一款为旅客提供实时航班信息的软件应用。

本说明书将对系统的概要设计、功能模块以及使用方法进行详细介绍。

2. 系统概述航班信息查询与检索系统旨在帮助旅客快速、准确地查找航班信息,并提供便捷的预订和购票功能。

系统采用先进的数据库技术和数据同步机制,以确保信息的实时性和准确性。

3. 功能模块3.1 航班查询用户可以通过输入航班号码、出发地、目的地以及日期等信息进行航班查询。

系统将根据用户提供的条件进行快速检索,并显示相关的航班信息,包括航班号码、起降时间、航班状态等。

3.2 航班推荐系统根据用户的历史查询记录以及喜好进行智能分析,提供符合用户习惯的航班推荐。

这一功能可以帮助用户节省时间,避免不必要的重复操作。

3.3 票价查询用户可以查询特定航班的票价信息,包括经济舱、商务舱等不同舱位的价格。

系统将实时获取该航班的票价数据,并呈现给用户。

3.4 预订功能用户可以选择心仪的航班,并进行预订。

系统支持多种支付方式,包括信用卡、支付宝等,以提供便捷的购票体验。

4. 技术实现4.1 前端设计系统的前端采用用户友好的界面设计,通过直观的页面布局、清晰的标签分类以及简洁的操作流程,使用户能够快速上手并轻松完成各种操作。

4.2 后台开发系统的后台采用高效的服务器架构和数据库设计。

服务器端采用高性能的框架,保证数据交互的速度和稳定性。

数据库采用面向对象的设计,保证数据的完整性和一致性。

4.3 数据同步机制为了保证航班信息的实时性,系统采用数据同步机制。

系统会定期与航空公司的数据库进行同步,以获取最新的航班信息,并及时更新到系统的数据库中。

5. 使用方法使用者只需下载并安装航班信息查询与检索系统的应用程序,然后打开应用程序即可。

用户可以通过简单的注册和登录过程完成个人信息的录入。

一旦用户登录成功,系统将展示主页面,用户可以自由选择查询航班,查看航班详情并进行预订、购票等操作。

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

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

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

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

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

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

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

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

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

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

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

航班查询

航班查询
• 3. 以第一行为例,航班号是X2157,城市对为PEKNNG,起降时间分别是 1325 和1635,机型是737,0 表示该航班没有经停站,M是餐食标识,X5 表示除星期五以外每天都有该航班,07SEP24OCT 是该航班执行的 周期,即从7SEP 到24OCT 这段时间除周五以外该航班都按这一条的 内容执行。
四、 座位可利用情况查询 AV
AV指令用于查询航班座位可利用情况 ,及其相关航班信息,如航班号、舱位、 起飞到达时间、经停点等,是一个非常重 要的指令。
指令格式:
>AV: 选择项/ 城市对/ 日期/ 起飞时间/
航空公司代码/ 经停标识/ 座位等级
1. 选择项:
N—无经停 D—直达航班
☺ P 显示结果按照起飞时间先后顺序排列
F8 C4
YA BA HA KA LA MA NA QA TQ XQ UQ EQ VA ZQ
4 HU7007 HAKCAN 1240 1340 738 0^
FC CC
YA BA HA KA LA MA NA QA TQ XQ UQ EQ VA ZQ
5+ HU7083 HAKCAN 2000 2100 737 0^ FC CC YA BA HA KA LA MA NA QA TQ XQ UQ EQ VA ZQ
例2. FV:PEKSHA/Y
3. 指定日期有指定座位数的最早航班
例3. FV:PEKSHA/5
4. 指定日期某一时刻左右最早航班
例4. FV:PEKSHA/20OCT/1100
5. 指定日期某一时刻左右指定航空公司的最 早航班
例5. FV:PEKSHA/20OCT/1100/CA
6. 指定日期某一时刻左右指定航空公司指定 舱位有指定座位数的最早航班

中国航信电子客票操作手册-东航专用版1.0(06.7.3).

中国航信电子客票操作手册-东航专用版1.0(06.7.3).

中国航信电子客票操作手册东航专用版(Version 1.0)前言本书是一本详细介绍航空公司电子客票功能,供客运销售、航班控制人员使用的操作手册。

从电子客票基础知识开始介绍,讲解了与电子客票有关的操作指令和操作流程。

本书主要适用于客票销售人员和航班控制人员,是使用航空公司电子客票必不可少的手册。

由于航空公司使用的中国航信订座系统的功能处于不断更新变化的状态,当本手册中的指令与订座系统发生不一致时,以订座系统中的指令说明为准。

目录前言 ........................................................................................................................... 2目录....................................................................................................................... 1一、电子客票简介 ...................................................................................................... 2二、航班信息查询 ...................................................................................................... 3三、配置电子客票打票机............................................................................................ 43.1显示待配置打票机的状态(DI:) ...................................................................... 53.2建立打票机控制(EC:).................................................................................... 63.3打开打票机输入(TI:)..................................................................................... 73.4关闭打票机输入(XI:) .................................................................................... 83.5退出打票机控制(XC:) ................................................................................... 9四、电子客票的销售................................................................................................ 104.1电子客票订座 ................................................................................................. 104.2电子客票的出票(ETDZ:) ............................................................................ 124.3提取电子客票记录和打印电子客票行程单(DETR:) ..................................... 144.4加入电子客票备注(TRMK:) ....................................................................... 194.5电子客票票面信息说明 ................................................................................... 20五、电子客票的改签、作废、退票和换开 ................................................................ 215.1电子客票的改签.............................................................................................. 215.1.1航班变更 ................................................................................................ 215.1.2变更旅客身份标识信息 ........................................................................... 275.2电子客票的作废(VT:) ................................................................................ 315.3电子客票的退票(ETRF:)............................................................................. 325.4电子客票的换开(OI和PET:)...................................................................... 335.4.1电子客票换开成普通客票........................................................................ 335.4.2电子客票打印换开成普通客票(PET:)................................................... 355.5修改电子客票的航段的有效期(ETV:) ......................................................... 37六、电子客票控制功能 ............................................................................................ 386.1提取旅客名单(ML:T1).............................................................................. 386.2提取从某城市出发的所有控制航班上座位情况(FLR:) ................................. 396.3建立电子客票航班 .......................................................................................... 406.4电子客票航班的旅客保护................................................................................ 426.5电子客票票号的分配....................................................................................... 446.5.1使用ADOC:指令设置电子客票票号段...................................................... 446.5.2使用TN:指令为制定打票机分配电子客票票号........................................ 496.5.3使用TSS:将电子客票的状态改成SUSPEND.............................................. 526.6电子客票销售日报(TSL:/TPR:) ................................................................... 53附录A:指令索引...................................................................................................... 56附录B: E T ERM-T4插件使用说明 .............................................................................. 57一、电子客票简介自1994年美国西南航空公司率先推出电子客票以来,电子客票就受到了航空公司和旅客的青睐,并成为重要的出票方式。

航班信息的查询与检索

航班信息的查询与检索

目录1 概述 (2)1.1 问题描述 (2)1.2 设计题目 (2)1.3 基本要求 (2)2 系统分析 (2)2.1 功能需求分析 (2)2.2 设计要求 (2)3 概要设计 (3)3.1 设计思路 (3)3.2 各函数说明 (3)3.3 基本流程图 (5)4 详细设计 (5)4.1数据类型定义模块 (5)4.2实现排序的各函数模块 (6)4.2.1 一趟分配函数模块 (6)4.2.2 一趟搜集函数模块 (7)4.2.3链式基数排序函数模块 (7)4.2.4 二分查找函数模块 (8)4.2.5 主控函数模块 (8)5 运行与测试 (9)5.1 航班信息输入 (9)5.2 航班信息查询 (10)5.2.1 按航班号查询 (10)5.2.2 按起点站查询 (10)5.2.3 按终点站查询 (11)5.2.4 按起飞时间查询 (11)5.2.5 按到达时间查询 (12)5.3 退出航班信息系统 (12)6 总结与心得 (12)参考文献 (13)附录 (13)1 概述1.1 问题描述随着科技与经济的发展,当今乘飞机旅行的人越来越多,人们需要关心了解各类航班的班次、时间、价格及机型等信息。

在这个飞机航班数据的模型中,航班号是关键字,而且是具有结构特点的一类关键字。

通过关键字的输入,你将获得你所需要的航班的所有信息。

1.2 设计题目航班信息的查询与检索1.3 基本要求1 每个航班包括8项基本要求:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价。

2 要有输入模块。

3 对航班信息进行排序与查找。

2 系统分析2.1 功能需求分析(1)输入航班信息(2)按不同类型查询航班信息:输入航班号,显示相应信息输入起点站,显示相应信息输入终点站,显示相应信息输入起飞时间,显示相应信息输入到达时间,显示相应信息2.2 设计要求该设计要求对航班信息进行排序和查询。

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

航班信息的查询与检索系统

航班信息的查询与检索系统

航班信息查询与检索一、问题描述实现对飞机航班信息进行排序和查找,可按照航班号、起点站、到达站、起飞时间和到达时间等信息进行查询。

航班信息表的样式如下:航班号起点站终点站班期起飞时间到达时间机型票价510:55 12: 40 733 960CA1544 合肥北京1、 2、4、MU5341 上海广州每日14:20 16:15 M90 1280CZ3869 重庆深圳2、4、6 08:55 10:35 733 1010其中航班号一项的格式为:前两个大写字母表示航空公司的名称,后4位为航班编号。

基本要求:(1)对飞机航班信息进行排序;(2)采用折半查找思想完成查找。

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

测试数据要求:测试的数据不得少于10个,不得有重复的航班。

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

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

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

三、数据描述typedef struct node{char number[MAXN]; //航班号time start; //起飞时间time end; //到达时间char start_station[MAXN]; //起点站char end_station[MAXN]; //终点站char type[MAXN]; //飞机型号char price[MAXN]; //票价struct node*link;}NODE;四、算法描述1、二分查找int binSearch(NODE* n,char *strinput,int low, int high){//二分查找 int i;int middle = (high+low)/2;if (high < low)return 0;if ((i=strcmp(strinput, n->number)) <0)high= middle;else if (i > 0)low = middle;else{i = middle;return i;}binSearch(getindex(n,middle),strinput,low,high);}int bisect(char a[],int n,char s[MAXN]){//二分查找int i,j,m;i=0;j=n-1;while(i <=j){m=(i+j)/2;}return(-1);}2、计算链表长度unsigned int countit(NODE* n){unsigned int counti = 0;while(n!=NULL)counti++,n=n->link;return counti;}五、源代码#include <stdio.h>#include <malloc.h>#include <string.h>#define MAXN 100typedef struct{char hour[MAXN];char minute[MAXN];} time;typedef struct node{char number[MAXN]; //航班号time start; //起飞时间time end; //到达时间char start_station[MAXN]; //起点站char end_station[MAXN]; //终点站char type[MAXN]; //飞机型号 char price[MAXN]; //票价 struct node*link;}NODE;NODE *create_link_list(int n){int i;NODE *head,*p,*q;if(n==0)return(NULL);head=(NODE*)malloc(sizeof(NODE));for(i=0;i <MAXN;i++){ head->number[i]='\0';head->start.hour[i]='\0';head->start.minute[i]='\0';head->end.hour[i]='\0';head->end.minute[i]='\0';head->start_station[i]='\0';head->end_station[i]='\0';head->type[i]='\0'; head->price[i]='\0';}p=head;for(i=1;i <n;i++){printf("请输入航班号:"); scanf("%s",&(p->number));printf ("请输入起飞时间(时分):");scanf("%s %s",&(p->start.hour),&(p->start.minute));printf ("请输入达到时间(时分):");scanf("%s %s",&(p->end.hour),&(p->end.minute));printf("请输入起点站终点站:");scanf("%s %s",&(p->start_station),&(p->end_station));printf("请输入飞机型号:");scanf("%s",&(p->type));printf("请输入票价:"); scanf("%s",&(p->price));printf("\n");q=(NODE*)malloc(sizeof(NODE)); p->link=q;p=q;}printf ("请输入航班号:");scanf("%s",&(p->number));printf ("请输入起飞时间(时分):");scanf("%s %s",&(p->start.hour),&(p->start.minute));printf ("请输入达到时间(时分):");scanf("%s %s",&(p->end.hour),&(p->end.minute));printf("请输入起点站终点站:");scanf("%s %s",&(p->start_station),&(p->end_station));printf("请输入飞机型号:");scanf("%s",&(p->type));printf("请输入票价:");scanf("%s",&(p->price));printf("\n");getchar();p->link=NULL;return(head);}void insert(NODE **p_head,NODE *q){NODE *p;if(*p_head==NULL)*p_head=q;else{p=*p_head;while(p!=NULL&&p->link!=NULL)p=p->link;p->link=q;} }unsigned int countit(NODE* n){//计算链表长度unsigned int counti = 0;while(n!=NULL)counti++,n=n->link;return counti;}NODE* getindex(NODE* head, int num);NODE* getindex(NODE* head, int num){//取得 index 为 num 的节点! if(num<0 || num>countit(head))return NULL;NODE* rn = head;while(--num>0)rn = rn->link;return rn;}int binSearch(NODE* n,char *strinput,int low, int high){//二分查找int i;int middle = (high+low)/2;if (high < low) return 0;if ((i=strcmp(strinput, n->number)) <0) high= middle;else if (i > 0) low = middle;else{i = middle;return i;}binSearch(getindex(n,middle),strinput,low,high);}int bisect(char a[],int n,char s[MAXN]){//二分查找int i,j,m;i=0;j=n-1;while(i <=j){m=(i+j)/2;}return(-1);}NODE *search1(NODE *head,char vlMAXNDJ/起点站顺序查找for(;head!=NULL&&strcmp(head->start_station,&v[0]);head=head->link);return(head);}NODE *search2(NODE *head,char wlMAXNDJ/到达站顺序查找for(;head!=NULL&&strcmp(head->end_station,&w[0]);head=head->link);return(head);}NODE *search3(NODE *head,char x[MAXN],char ylMAXNDJ/起飞时间顺序查找for(;head!=NULL&&(strcmp(head->start.hour,&x[0]) || strcmp(head->start.minute,&y[0]));head=head->link); return(head);}NODE *search4(NODE *head,char t[MAXN],char u[MAXN]){//到达时间顺序查找for(;head!=NULL&&(strcmp(head->end.hour,&t[0]) || strcmp(head->end.minute,&u[0]));head=head->link); return(head);}void output(NODE *p){while(p!=NULL){printf("航班信息:\n");printf("航班号:%s\n”,p->number);printf ("起飞时间:%s 点%$ 分,“,p->start.hour,p->start.minute);printf ("至U达时间:%s 点%s 分\n”,p->end.hour,p->end.minute);printf(“起点站:%s,",p->start_station);printf(“至U达站:%s\n”,p-〉end_station);printf("飞机型号:%s ",p-〉type);printf ("票价:%s 元\9\/邛一而「江6);p=p-〉link;}}NODE *rank( NODE *head){NODE *q=0,*p=0,*t,*h1;h1=head-〉link;head-〉link=NULL;while(h1!=NULL){t=h1;h1=h1-〉link;p=head;q=head;while( p!=NULL && strcmp(t-〉number, p-〉number)〉0 ){ q=p;p=p-〉link;}if(q == p){t-〉link=p;head=t;}else{t-〉link=p;q-〉link=t;}}return head;}int main(int argc, char* argv[]){NODE *p,*q,*r;int a,b,i,j,n;int count=0;char o[MAXN];char s[MAXN];char v[MAXN];char w[MAXN];char x[MAXN];char y[MAXN];char t[MAXN];char u[MAXN];for(i=0;i <MAXN;i++){o[i]='\0';s[i]='\0';v[i]='\0';w[i]='\0';x[i]='\0';y[i]='\0';t[i]='\0';u[i]='\0';}while(true){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("请输入你的选择:”);scanf("%d",&a);getchar();switch(a){case 1:printf("请输入你所要建立的航班信息个数:");scanf("%d",&n);p=create_link_list(n);break;case 2:q=create_link_list(1);insert(&p,q);break;case 3:p = rank(p);break;case 4:printf("\n1、按照航班号查询.\n");printf("2、按照起点站查询.\n");printf("3、按照到达站查询.\n");printf("4、按照起飞时间查询.\n");printf("5、按照到达时间查询.\n");scanf("%d",&b);getchar();switch(b){case 1:p=rank(p);printf("请输入您所要找的航班号:");scanf("%s",s);if( binSearch(p,s,1, countit(p)) )printf("scuess!\n");break;case 2:printf("请输入起点站”);scanf("%s",&v[MAXN]);if(search1(p,&v[MAXN])!=NULL){printf("查询成功!\n");r=search1(p,&v[MAXN]); output(r);}elseprintf("查询失败,该信息录中没有该起点站!\n");break;case 3:printf("请输入到达站");scanf("%s",&w[MAXN]);if(search2(p,&w[MAXN])!=NULL){printf("查询成功!\n");r=search2(p,&w[MAXN]); output(r);}elseprintf("查询失败,该信息录中没有该到达站!\n");break;case 4:printf("请输入起飞时间(时分)");scanf("%s %s",&x[MAXN],&y[MAXN]);if(search3(p,&x[MAXN],&y[MAXN])!=NULL){printf("查询成功!\n");r=search3(p,&x[MAXN],&y[MAXN]);output(r);}elseprintf("查询失败,该信息录中没有该到达站!\n");break;case 5:printf("请输入到达时间");scanf("%s %s",&t[MAXN],&u[MAXN]);if(search4(p,&t[MAXN],&u[MAXN])!=NULL){printf("查询成功!\n");r=search4(p,&t[MAXN],&u[MAXN]);output(r);}elseprintf("查询失败,该信息录中没有该到达站!\n");break;}break;case 5:output(p);printf("\n");break;case 0:return(0);}}return(0);} 六、测试数据及运行结果C:\IJ sers\j KDe s kto p\保程设计\H/i 斑信.辨直®与检e ■,已 08 55 10 35 泽加 工航理后息的查询匕检索】 I 爵翳鼠良 ■菖器排序 5.五不缸班信息 身妙坦本平■I. C:\U sers\j KDe s kto p\i^程设计辨查与检^弱e ■,已 □ 14 2D 16 15 广州 仅飞 明号:MU5341 弱嬲数 ,占闲会总站;上海 机型号:出团 桁,: 1N8M‘信息 龙壬名息由查词上检索】 系垸 遂抵 用 --- 出 鬼白山-4-句白』 查修研班班号■.-R -S 己 环 尔为选择:2 同班号:CZ39G9 .飞时间(时分): 独中如叽分幺A 肃站终点由重庆 机型号:733介:请输入你的选择:4■■■询询 而问诃寻吞一 查查杳 旦迪砧* 班点航飞达 M ^4tl .起到|BJ= H 点拈分 10107E 时圳: K 探伤 到;票 占『 :uz .-重: 起中总:IBJ .,弓 .A 成信号 曹班班匕点机 生害航,塞起飞C:\U sers\j KDe s kto p\i^^设计Mt/t 班信息的查询与检索系统.exe |BJ= H 点拈分 ieiBTL f l 班班弓息班一乐 V 入航班也 建S 项肮显退12 3 -h G 请输入你的选择:4 ■■■询询 询问诃寻S- 查查杳 旦迪V 笄 班点防飞达^^4宅起到-JII 深 站时圳.. 出淡俗到;票这,:uz :fi : 到功息:IBJ .,弓 A.成信号 曹班班匕点机 喜航瞿担飞・ A 白匕热古J 清输入你的选择4-:-§!询询询,问合查 查查查,假 口54站W 时 班点达匕达 到起到 项14海M9 :L I ;起功息:间:号 人成信号^ 4都询班班「7占(机 上K 2i I T 、-R 日 飞C可用州; U 厂价 到:票1 23 -h G C:\U se 「s'M l\D eskto p\诔程设计倾班信息的查询与检索系统.exe f l 班班弓息班一乐 V 入航班也建S 项肮显退请输入你的选择:4 ■ ■■询询 询问诃寻S- 查查杳 旦迪V 笄 班点防飞达^^4宅起到 噎虢入到达时|晅240励联息: 航班号:皿好例一飞机型号:733 :1@点55分.至1|达时间:12点物分 合肥㈤达站京 _ 价:一元□■C:\IJ sers\jl\De s kto p\保程设计\l航班信息的查询与检索系统.e■,已。

旅游票务管理02

旅游票务管理02

一,CRS目的 二,CRS提供的服务 三,中国CRS系统的介绍 CRS
第三章 航班信息查询
第一节 座位可利用情况显示 AV
AV 指令用于查询航班座到达时间,经停点 等,是非常重要的指令. >AV:选择项/城市对/日期/起飞时间/航空公司代码/ 经停标识/座位等级
查询15OCT前后三天北京到南宁的航班时刻 例一 查询 前后三天北京到南宁的航班时刻
>SK:PEKNNG/15OCT 12OCT(MON)/18OCT(SUN) PEKNNG 1 X2157 PEKNNG 1325 1635 737 0 M E X5 07SEP24OCT FYBHKLMNTV 2 3 4 5 6
7,显示指定日期某航班的所有舱位 , av:ca983/10oct 8,显示指定日期飞行时间最短的航班 , av:e/peksha/10oct 9 ,显示指定日期直达航班 av:peksha/10oct/d 10,指定日期无经停的航班信息显示 , av:peksha/10oct/n 11,指定 ,指定GDS的航班信息显示 的航班信息显示 av:lonfra/10oct/1a
[格式说明] 选择项有以下几种: P 显示结果按照起飞先后顺序(不选,默认为P) A 显示结果按照到达时间先后顺序排列 E 显示结果按照飞行时间由短到长排列 城市对为必选项, 城市对为必选项,其余为可选项
具体的实例说明AV指令的输入和输出
1,指定日期的航班信息查询 , av:peksha/10oct 2,指定日期及航空公司的航班信息查询 , av:peksha/10oct/ca 3,指定日期的某一时间之后的航班信息查询 , av:peksha/10oct/ca/1100 4,指定日期,时间,航空公司航班信息查询 ,指定日期,时间, av:peksha/10oct/ca/1100/sz 5,指定日期及到达机场的航班信息查询 av:peksha/10oc , 6,在已有 显示的前提下显示回程航班座位情况 ,在已有AV显示的前提下显示回程航班座位情况 av:ra/10oct

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

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

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

第3章__航班信息查询

第3章__航班信息查询

机型 餐食 班期 座位等级 经停点 电子客票标识 有效日期段
CRS国内订座基础
常用SK指令格式
指定日期前后三天内航班信息
SK:PEKNNG/15OCT
指定日期前后三天内指定航空公司的航班信息
SK:PEKSHA/10OCT/MU
指定日期前后三天内指定舱位的航班信息
SK:PEKSHA/10OCT/F SK:PEKSHA/MU/F
格式:
>DSG: 完整显示项/航班号/座位等级/日期/航段
>DSG: 完整显示项/PNR中所选航段的数字1/数字2
【说明】
若当前已存在一PNR,可通过格式2查询
CRS国内订座基础
例 .完整显示CZ3603航班的信息
航班号
星期
出发地/目的地
空中飞行时间 飞行里程
舱位
日期 到达时间
经停时间 起飞时间 机型 经停数
格式:
AV: 选择项/城市对/日期/起飞时间/航空公司代码/经停标 识/座位等级
说明:
选择项有以下几种: P 显示结果按照起飞时间先后顺序排(不选,默认为P) A 显示结果按照到达时间先后顺序排列 E 显示结果按照飞行时间由短到长排列 城市对为必选项,其余为可选项
CRS国内订座基础
例一. 指定日期的航班信息查询
CRS国内订座基础
常用DSG指令格式
完整显示今天CZ3603航班的信息
DSG:C/CZ3603/Y
显示今天CZ3603 PEKDTW航班的信息
DSG:C/CA981/Y/DLCHRB
显示PNR MR142中第2、3段航班的信息
>RT:MR142
DSG:C
>DSG:C/2/3
完整显示PNR中涉及的全部航段内容

项目一航班信息查询

项目一航班信息查询
给销售代理带来广泛的航班及旅行产品的 选择空间。
第一章 CRS系统知识
五、代理人分销业务开展目的
➢为航空代理商提供全球航空航班的分销功能 ➢为代理商提供非航空旅游产品的分销功能 ➢为代理商提供准确的销售数据与相关辅助决 策分析依据
第一章 CRS系统知识
六、CRS系统与ICS系统间的关系
两系统主机硬件和数据库相互独立,由于使用了先进的技 术手段,故系统连接及其紧密,随时进行数据交换(实时 性)。航空公司的航班信息传送到代理人系统,代理人建 立的订座记录也会传给航空公司系统。先进的技术手段, 保证了系统间联系的准确性。
航班信息查询
第一章 客票基础知识
一、客票的定义 客票是指由承运人或代表承运人所填开的
的被称为“客票及行李票”的凭证,包括 运输合同条件、声明、通知以及乘机联和 旅客联等内容。 客票是承运人和客票上所列姓名的旅客之 间运输合同的初步证据。客票中的合同条 件是承运人运输总条件部分条款的概述
§3-1 座位可利用情况显示(AV)
2、指定日期及航空公司的航班信息查询
显示1DEC北京至上海国航航班座位可利用情况
﹥AV:PEKSHA/01DEC/CA
§3-1 座位可利用情况显示(AV)
3、指定日期的某一时间之后的航班信息查询
显示1DEC上午10点之后北京至上海 航班座位可利用情况
﹥AV:PEKSHA/01DEC/1000
五、客票使用的一般规定
1)为方便票证和财务管理,填开客票时应按票号顺序使用。 2)承运人及其销售代理人不得在我国境外使用国内航空运输
客票进行销售。旅客在我国境外购买的用国际客票填开的纯 国内航空运输客票,应换开成国内客票后才能使用。含有国 内航段的国际联程客票,其国内航段的乘机联可直接使用, 并适用国际运输规则。 3)每一个乘客都应单独持有一本客票;外国旅客的客票应使 用英文填写,国内旅客的客票使用中文填写。 4)每一客票的乘机联必须列明舱位等级,并在航班上定妥座 位和日期后方可由承运人接受运输。对未定妥座位的乘机联, 承运人应按旅客的申请,根据已付的适用票价和所申请航班 的座位可利用情况为旅客预订座位。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

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

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

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

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

我们可以利用航班的这些信息,通过其中的任意一个信息,找出我们所需要的查找的航班的所有信息,所以,我们可以采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排序好的航班记录按航班号实现快速查找,并按其他关键字的查找可以采用最简单的顺序查找方法进行。

2.2 设计要求1) 提供对航班信息的排序功能2 提供对航班信息的输入输出记录功能找出我们所需要的查找的航班的所有信息3)提供按关键字(航班号)快速查询或顺序查询功能2.3 设计分析对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因为它们用得比较少。

每个航班记录包括八项,分别是:航班号,起点站,终点站,班期,起飞时间,到达时间,飞机型号以及票价等。

其中航班号一项的格式为:K0 k1 k2 k3 k4 k5航班关键字可分为两段,即字母和数字。

其中k0和k1是航空公司的别称,用两个大写字母表示,后4位为航班编号。

3 概要设计3.1 系统总流程图3.2 定义数据类型根据设计要求,设计中所用到的数据记录只有航班信息,因此要定义相关的数据类型:typedef struct {char start[7]; //起点char end[7]; //终点char sche[12]; //班期char time1[5]; //起飞时间char time2[5]; //到达时间char model[4]; //机型int price;//票价}InfoType;//航班记录类型typedef struct{KeyType keys[keylen]; //关键字InfoType others;int next;}slnode;//表结点typedef struct{SLNode sl[MaxSpace]; //静态链表,s1[0]为头结点int keylen; //关键字长int length; //当前表长}SLList;//静态链表类型为了进行基数排序,需要定义在分配和收集操作时用到的指针数组:typedef int ArrType_n[10]; //十进制数字指针数组typedef int ArrType_c[26]; //26个字母指针数组3.3 实现排序的各函数的说明1)一趟分配函数:void Distribute(SLNode *s1,int i,ArrType f,ArrType e);//本算法是按关键字key[i]建立RADIX个子表,使同一个子表中记录的keys[i]//相同,f[0..RADIX]和e[0..RADIX]分别指向各子表中的第一个和最后一个记录2)一趟搜集函数:void Collect(SLNode *s1,int i,ArrType f,ArrType e);//本算法是按关键字keys[i]从小到大将[0..RADIX]所指的各子表依次链接成一个链表3)链式基数排序函数:void RadixSort(SLList &L);//本算法是按关键字从低位到高位依次对各关键字进行分配和收集,分两段实现4)二分查找函数:int BinSearch(SLList L,KeyType key[]);//L为待查找的表,key[]为待查找的关键字,按二分查找的思想实现查找5)主控函数void main(){初始化;数据输入;排序处理;接受查找要求及查找关键字;查找处理;输出查找结果;}4 详细设计4.1 数据类型的定义根据设计要求我们知道所用的记录中只有航班信息因此要定义相关的数据类型其源程序如下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];//静态链表sl[0]为头结点int keynum; //记录当前关键字字符个数int length; //当前表长}sllist; //静态链表类型typedef int arrtype_n[radix_n];//十进制数字指针typedef int arrtype_c[radix_c];//26个字母指针4.2 链式基数排序开输入数据、基数、长度改造为对关键字否是4.3 重新整理静态链表重新整理静态链表,P 指示第一个记录的当前位置,L.s1[1..i-1]已按关键字有序排列 ,第一个记录在L中的当前位置应不小于i,使用while循环,找到第i个记录,并用p指示其在L中的当前位置,而q指示尚未调整的表尾,若if(p!=i) 则p指向被移走的记录,使得以后可由while循环找回,当p=q时,p指向尚未调整的表尾,为找到第i+个记录做准备4.4 查找算法实现4.4.1 二分查找函数是是4.4.2 顺序查找函数void SeqSearch(SLList L,KeyType key[],int i) { int j,k,m=0;for(j=1;j<L.length;j++){ switch(i) {case2:k=strcmp(key,L.s1[j].others.start);break;case3:k=strcmp(key,L.s1[j].others.end);break;case4:k=strcmp(key,L.s1[j].others.time1);break;case5:k=strcmp(key,L.s1[j].others.time2);break;}if(k==0){ m=1;Display(L,j);}}if(m==0)printf("无此航班信息,可能是输入错误!\n"); }4.5 输入输出函数serachcon(SLList L){int i=1,k,k1;while(i>=1 && i<=5) {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:\n ");scanf("%d",&i);switch(i) {case 1: printf("输入要查的航班号(字母要大写):");scanf("%s",key);k=BinSearch(L,key);Display(L,k);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",k1); SeqSearch(L,k1,i);break;case 5: printf("输入要查询的航班到达时间:"); scanf("%s",k1); SeqSearch(L,k1,i);break;case 0: printf("再见!\n");return 0;}}}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.s1[i].keys,L. s1[i].others.start,L.s1[i].others.end,L.s1[i].others.sche,L.s1[i].others .time1,L.s1[i].others.time2,L.s1[i].others.model,&L.s1[i]. others.price);++i;printf("继续输入吗?y/n: \n");scanf("%c",&yn);}L.length=i-1;}5 运行与测试航班信息输入如图:按航班号查询:输入航班号错误则显示如下图:按航班起点站查询:按起飞时间查询:显示查询主菜单,退出查询系统:6 总结与心得通过本实验,我了解了基数排序是作为一种内部排序方法,当关键字位数较少而排序序列较长时,该排序算法有一定的优越性。

相关文档
最新文档