数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第1页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第2页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第3页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第4页
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法与数据结构实验报告航班查询与检索题目:航班查询与检索指导老师:组长:成员:一:航班信息的查询与检索初始化信息初始化信息进行排序主菜单显示输入查询序号判断序号是否合法按航班号查询按时间查询按地点查询按票价查询输出航班信息结束开始按时间查询:输入查询时间输入查询时间Time=1按抵达时间查询按起飞时间查询返回查询信息开始是否开始开始输入票价范围判断有无符合条件票价票价输出相应信息返回查询信息按票价范围查询按站点查询:开始开始返回查询信息输入起点终点及ADAD=1?按目的站查询按起点站查询否是二分法查询:输入航班号输入航班号开始输入航班号对应序列号High=mid+1Low<=highhNum=F[mid].flight_numberMid=(high+low)/2Num<F[mid]fligt_numberLow=mid+1返回是否二:算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/三:/*航班信息的查询与检索*/#include<iostream.h>#include<string.h>#include<stdio.h>#defineN6//航班数//航班信息typedefstructflight{charflight_number[10];//航班号charstart_address[10];//起飞站chararrived_address[10];//终点站charwork_date[10];//班期charstart_time[6];//起飞时间chararrived_time[6];//到达时间charFlightType[4];//机型intfare;//票价}DataType;structflightFlight[N];//-----------按航班号进行基数排序-----------typedefcharKeyType;#defineD7//D为排序码的最大位数#defineR'a'//R为基数,这里为小于字母'a'代表的整型值structNode;//单链表结点类型typedefstructNodeRadixNode;structNode{KeyTypekey[D];//关键字DataTypeinfo;//数据信息RadixNode*next;};typedefRadixNode*RadixList;typedefstructQueueNode{RadixNode*f;//对列的头指针RadixNode*e;//对列的尾指针}Queue;Queuequeue[R];//用队列表示桶voidradixSort(RadixList*plist,intd,intr){inti,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;}//初始化航班信息structNodeelement[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,};//------------信息显示------------//按表的格式输出某个航班信息//显示头部信息voidCout_info1(){cout<<"****************************************\n"<<endl; cout<<"*欢迎您使用*\n"<<endl;cout<<"*航班信息表*\n"<<endl;cout<<"****************************************\n"<<endl;cout<<"航班号起飞时间到达时间起飞站终点站班期机型票价\n"<<endl;}//显示主体信息voidCout_info2_1(Nodep[])//方式一{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;}voidCout_info2_2(flightF[],inti)//方式二{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;}//显示所有航班信息voidoutput_ALL_info1(Nodeelement[])//方式一{RadixListp=element;Cout_info1();p=p->next;while(p!=NULL){Cout_info2_1(p);p=p->next;}cout<<endl;}voidoutput_ALL_info2(flightF[])//方式二{Cout_info1();for(inti=0;i<N;i++){Cout_info2_2(F,i);}cout<<endl;}//--------------信息复制----------------//将排好的序列(链表)转化成顺序表存储形式voidcopy(flightF[],Nodeelement[]){RadixListp=element;p=p->next;inti;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;}}//---------------服务菜单--------------voidF_By_Time(flightF[],int);voidF_By_Address(flightF[],int);voidF_By_fare(flightF[]);voidF_By_FN(flightF[]);//主菜单voidmainmenu(){charch;inty;cout<<"主菜单\n"<<endl;cout<<"===========================================================\n"<<endl;cout<<"Pleasechoose:(inputthenumber)(输入查询/排序命令)\n"<<endl;cout<<"0.showthemainmenu(显示主菜单)\n"<<endl;cout<<"1.Findbyflightnumber(按航班号查询)\n"<<endl;cout<<"2.Findbystarttime(按起飞时间查询)\n"<<endl;cout<<"3.Findbyarrivedtime(按到达时间查询)\n"<<endl;cout<<"4.Findbystartaddress(按起飞地点查询)\n"<<endl;cout<<"5.Findbyarrivedaddress(按目的地点查询)\n"<<endl;cout<<"6.Findbythefare(按票价范围查询)\n"<<endl;cout<<"----其他键退出"<<endl;cout<<"===========================================================\n"<<endl;while(1){cout<<"请输入服务命令:";cin>>y;switch(y){case0:mainmenu();break;case1:F_By_FN(Flight);break;case2:F_By_Time(Flight,1);break;case3:F_By_Time(Flight,2);break;case4:F_By_Address(Flight,1);break;case5:F_By_Address(Flight,2);break;case6:F_By_fare(Flight);break;default:cout<<"谢谢惠顾!"<<endl;break;}cout<<"是否退出?(Y/N):";cin>>ch;if(ch=='Y'||ch=='y')break;}}//--------------查询系统--------------//通过航班号实现二分查找法查找voidF_By_FN(flightF[]){intlow=0,high=N,mid;charNum[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;}elseif(strcmp(Num,F[mid].flight_number)<0)high=mid-1;elselow=mid+1;}cout<<"*************对不起,没有您要查找的航班号**********"<<endl;}//通过起飞/到达时间查询voidF_By_Time(flightF[],intTime){inti;charT[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;}//通过站点查询voidF_By_Address(flightF[],intAD){charstr[10];cout<<"请输入您要查询的航班的起飞/抵达地址:";cin>>str;Cout_info1();for(inti=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;}//通过票价范围查询voidF_By_fare(flightF[]){intT1,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;}//--------------主函数----------------intmain(){RadixListp=element;for(inti=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();//给出主菜单return0;}测试数据及测试结果:、边界值处理:四:遇到的问题及解决策略:首先是要实现所要的功能需用什么数据结构的问题,比如排序问题究竟用那一种,在组员的商量下和上网搜寻资料,采用对排序最符合,其次是在时间的查询过程中,比如输入时间16:40开始只能实现输入1640,最后通过改时间的数据类型实现了时间的输入,最后是在各个模块的组合过程中由于各个成员编程所起的名字或者其他原因,程序无法运行,最后在大家的努力下一起修改错误使得程序可以正常运行。还未解决的问题:插入的订票的函数无法正常运行。五:实验收获和心得:通过这次次实验我们收获了很多,对数据结构这门课有了更深的了解.让我们对链表、队列、结构体的应用更娴熟,为我们更好的了解课本内容,改进不足提供了件。在这次课程设计的过程中充分说明了团队合作的重要性,组内成员共同讨论,即充分而认真的完成自己负责的模块又对组内其他成员的工作提供建议,使得这次课程设计能够按时完成。我们一定会更加努力,争取在以后的学习中能够学以致用,最后要感谢胡老师在设计过程中给我们的指导,有了胡老师的帮助,我们的流程图更加的规范、正确。再一次谢谢胡老师。六:人员分工:组内成员一起构思了流程图。并完成最后的整理工作

公司中高层管理人员薪酬管理制度第一章:总则第一条:为维护______公司(以下简称公司)中高层管理人员利益,形成稳定的经营者团队,保证公司的长远发展,特制定本制度。第二条:本制度适用于公司的中高层管理人员,包括:董事长、总经理、副总经理、总经理助理、总监、副总监、销售副总助理、各部门正副经理以及其他总经理(或董事长)认定可享受年薪制的员工。第三条:公司中层以上(含中层)管理人员实行聘任制,每届任期3年,可连聘连任。第四条:公司中高层管理人员薪酬实行年薪制。第五条:中高层管理人员薪酬由以下几部分构成:1、

基本年薪;2、

绩效年薪;3、

奖励年薪;4、

法定福利和保险;5、

特别福利保险计划;6、

总裁特别奖励或总经理特别奖励;7、

中高层经理人持股计划(另行规定)。

第二章:薪酬管理办法第一条:基本年薪(下限年薪):1、以上年度实际年薪总额(基本年薪+绩效年薪)的60-70%作为本年度基本年薪,按月核发(见附表二);2、基本年薪的初始核定以工作评价、劳动力市场价格、公司人力资源政策为基础;3、新聘(或新晋升)中高层管理人员的基本年薪按照公司现行标准进行核定;4、特殊情况由总经理(或董事长)批准后可以随时进行调整。第二条:绩效年薪:1、在年度结束后,根据考核评价结果进行核定,在次年春节前一次性核发(见附表二);2、任现职不满一年者按实际任职时间进行核定。第三条:奖励年薪(年终奖金):在年度结束后,根据公司业绩和考核评价结果进行核定,标准为:1、

董事长(第一层经理人),为年薪总额的60%—70%;2、

总经理(第二层经理人),为年薪总额的50%—60%;3、

公司副总经理及其他第三层(或相当)经理人,为年薪总额的40%—50%;4、

正副总监、总经理助理及其他第四层(或相当)经理人,为年薪总额的30%—40%;5、

部门正副经理、销售副总助理及其他第五层(或相当)经理人,为年薪总额的20%—30%。第四条:年薪制人员的奖励年薪,一律延期半年发放,凡发生以下情况者,均考虑停发、缓发或减发:1、

违反公司政策、规定严重者;2、

辞职或辞退者;3、

以往工作中未发现问题,但对当前公司业绩带来不利影响者;4、

其他董事长或总经理认为有必要停发、缓发或减发的情况;5、

第三层以下(含第三层)经理人考核年薪发放的决定权在总经理,其他各层经理人考核年薪发放的决定权在董事长。第五条:总裁特别奖励,由董事长确定,于次年度春节前一次性发放;总经理特别奖励,由总经理确定,于次年度春节前一次性发放。第六条:享受年薪制的人员,不享有加班工资。

第三章:福利保险第一条:年薪制人员依法享受国家规定的福利和保险,其享受内容和享受标准按国家有关规定处理。第二条:年薪制人员可享受特别福利保险,但公司若发生经济效益滑坡或其他重大事件,经董事会研究批准后,可停止支付。第三条:终生健康险:1、

以年度为单位进行核定,每任职满十二月,发放一年的终生健康险;2、

享受条件:任满一年,考核成绩在良好以上者;3、

董事长(第一层经理人)为

万保额;4、

总经理(第二层经理人),为

万保额;5、

公司副总经理及第三层(或相当)经理人,为

万保额;6、

正副总监、总经理助理及其他第四层(或相当)经理人,为

万保额;7、

部门正副经理、销售副总助理及其他第五层(或相当)经理人,为

万保额;第四条:国内外进修:1、

董事长(第一层经理人)、总经理(第二层经理人)任满一届,考核结果良好及以上,可享受国内外中长期进修;2、

副总经理及其他第三层(或相当)经理人任满一届,考核结果良好及以上,可享受国内外短期进修;任满两届,考核结果良好及以上,可享受国内外中长期进修;董事长或总经理认为必要者,可不受此规定限制;3、

正副总监、总经理助理及其他第四层(或相当)经理人、部门正副经理、销售副总助理及其他第五层(或相当)经理人任满两届,考核结果良好及以上,可享受国内外短期或中长期进修;董事长或总经理认为必要者,可不受此规定限制;4、

以上条件均为必要条件,是否执行根据公司具体情况进行安排。第五条:一次性退职金:1、董事长(第一层经理人)享受条件为任满一届以上,考核结果良好以上,其标准为:

享受标准=最后年度年薪总额*(1+实际任职年限/10)*1.0

2、总经理(第二层经理人)享受条件为任满一届以上,考核结果良好以上,其标准为:

享受标准=最后年度年薪总额*(1+实际任职年限/10)*0.9

3、副总经理及其他第三层(或相当)经理人享受条件为任满一届以上,考核结果良好以上,其标准为:

享受标准=最后年度年薪总额*(1+实际任职年限/10)*0.7

4、正副总监、总经理助理及其他第四层(或相当)经理人享受条件为任满一届以上,考核结果良好以上,其标准为:

享受标准=最后年度年薪总额*(1+实际任职年限/10)*0.6

5、部门正副经理、销售副总助理及其他第五层(或相当)经理人享受条件为任满一届以上,考核结果良好以上,其标准为:

享受标准=最后年度年薪总额*(1+实际任职年限/10)*0.5

6、一次性退职金在任职期满后,一次性发放;

7、任职未符合上述期限规定要求,由于工作调动原因等离任,且考核结果良好以上者,按实际任职年限核发退职金。第六条:工作地在公司本部的中高层管理人员,福利住房按公司原住房分配制度执行。第七条:工作地在公司本部以外的中高层管理人员享受福利住房:1、

任期满一届以上者,可享受福利住房;具体规定为:任期满一届,公司提供40%房款作为首付款;任期满两届,公司提供其余60%房款;该款项不直接发放给个人,由公司直接支付给房地产商。2、

购房标准:第三层经理人及以上(相当)为120平方米;第三层经理人以下(相当)为100平方米;3、

福利住房房价不得超过山东省中高档商品房平均房价。具体标准为:4000元/平方米。4、

以上标准为最高限额,所购住房低于购房标准者,剩余款项不发放给个人,超过购房标准者,超标部分房款自付。5、

福利住房产权归购房者个人,所有相关责任购房者自负。6、

住房福利计划自聘用之日开始生效,自任职满一届开始执行。7、

任期未满一届者,不享受此福利。8、

任职不满一届,由于工作调动原因等离任,且考核结果良好以上者,经总经理(或董事长)批准,可以按实际任职年限进行核算。9、

任同一层次职务二届以上(不含)者不重复享受福利住房。第八条:其他特别福利与保险计划,根据公司效益和实际情况另行规定。第九条:特殊福利计划的执行,以国家相关财税制度为依据列支。第十条:因企业重组、并购等非个人因素造成职位丧失或职位下降者,根据任职年限按比例提前执行上述计划。第十一条:对于公司目前中高层现职中,经考核不具备任职资格,但对企业的发展作出了突出贡献者,如服从公司统一安排,离开现任职务,可以在本制度执行的同时,提前执行特别福利计划,同时,授予“企业功勋”光荣称号。具体标准将根据现职进行核定。

第四章:附则第一条:本规定未尽事项,另行规定或参见其他规定的相应条款。第二条:本规定的解释权在人力资源部。第三条:本规定自董事会核准、股东大会通过后颁布执行,修改时亦同。

______公司

二零零年月日

附表一:

中高层经理人薪酬结构

公司董事长(第一层经理人)基本年薪公司董事会核定,按月发放。绩效年薪公司董事会核定,按年发放。奖励年薪公司董事会核定,延期半年发放。特别福利计划享受标准享受条件

1、

万终身险;2、国内外中长期进修;3、一次性退职金;4、福利住房

1、任满一年,业绩优良;2、任满一届,业绩优良;3、任满一届,业绩优良;4、任满一届,业绩优良;

执行:1、

终身险:在任职满一年,考核优良的情况下,由企业每年向保险公司一次性购买。2、

国内外培训:享有带薪培训的权利,根据企业实际情况进行安排。3、

退职金:退职后一次性给付。具体执行另行规定。4、

福利住房:任满一届后开始执行。总经理(第二层经理人)基本年薪董事长核定,报公司董事会,按月发放。绩效年薪董事长核定,报公司董事会,按年发放。奖励年薪董事长核定,报公司董事会,延期半年发放。总裁特别奖董事长核定,报公司董事会,按年发放。特别福利计划享受标准享受条件

1、

万终身险;2、国内外中长期进修;3、一次性退职金;4、福利住房:

1、任满一年,业绩优良;2、任满一届,业绩优良;3、任满一届,业绩优良;4、任满一届,业绩优良;

执行:1、终身险:在任职满一年,考核优良的情况下,由企业每年向保险公司一次性购买。2、国内外培训:享有带薪培训的权利,根据企业实际情况进行安排。3、退职金:退职后一次性给付。具体执行另行规定。4、福利住房:任满一届后开始执行。

公司副总(第三层经理人)基本年薪总经理核定,报公司董事会,按月发放。绩效年薪总经理核定,报公司董事会,按月发放。奖励年薪总经理核定,报公司董事会,延期半年发放。总经理特别奖总经理核定,报公司董事会,按年发放。特别福利计划享受标准享受条件

1、

万终身险;2、国内外中长期进修;3、一次性退职金;4、福利住房:

1、任满一年,业绩优良;2、任满两届,业绩优良;3、任满一届,业绩优良;4、任满一届,业绩优良

执行:1、终身险:在任职满一年,考核优良的情况下,由企业每年向保险公司一次性购买。2、国内外培训:享有带薪培训的权利,根据企业实际情况进行安

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论