ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:27.52KB ,
资源ID:7843865      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7843865.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(航空客运订票系统源代码.docx)为本站会员(j35w19)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

航空客运订票系统源代码.docx

1、航空客运订票系统源代码#include /dos 控制命令头文件#include /输入输出头文件#include /控制格式头文件#include /getchar()用到#include /字符串函数using namespace std; /标准命名空间#define OK 1 /函数结果状态码#define ERROR 0 /函数结果状态码#define TRUE 1 /函数结果状态码#define FALSE 0 /函数结果状态码typedef int status; /函数结果状态码static int cusnum=1; /顾客数(全局变量)static int airnum=1

2、; /航线数(全局变量)/顾客结构体struct customerchar name9; / 顾客名 char line_num8; / 航班号 int piaonum; / 座位号 struct customer *next; / 下一个结点 ;typedef customer *Linkcustomer;/候补顾客结构体typedef struct houbuNode /候补顾客结构体char name9; /姓名char end_place10; /终点站int pnum; /票数struct houbuNode *next; /指针域* houbucustomer;struct Lin

3、kQueuehoubucustomer front,rear; /队头队尾指针;/航线结构体struct airlinechar line_num8; / 航班号 char plane_num8; / 飞机号 char end_place20; / 目的的 char fly_data20; / 飞行周日 int total; / 座位总数 int left; / 剩余座位Linkcustomer custom; / 订票顾客指针LinkQueue houbucus; / 候补顾客指针struct airline *next; / 下一个结点;typedef airline *Linkairli

4、ne;/初始化航线链表void init_airline(Linkairline /产生头结点,并始 l 指向此头结点if(!l) /存储分配失败exit(0); /退出l-next=NULL; /头结点的指针域为空/初始化顾客链表(同初始化航线链表)void init_customer(Linkcustomer if(!l)exit(0);l-next=NULL;/初始化候补顾客队列链表(同初始化航线链表)void init_houbucustomer(LinkQueue /if(!Q.front)exit(0);Q.front-next=NULL;/判断 airline 链表是否为空sta

5、tus airLineEmpty(Linkairline L)if(L-next) /非空return FALSE;elsereturn TRUE;/ airline 链表插入操作status insert_airline(Linkairline L,int i,char *line_num,char *plane_num,char *end_place, char *fly_data,int total,int left,Linkcustomer custom,LinkQueue houbucus)int j=0; /计数器Linkairline s,p=L; /p 指向头结点while(p

6、if(!p|ji-1) /i 小于 1 或大于表长return ERROR; /插入失败s=new airlinesizeof(airline); /生成新结点strcpy(s-line_num , line_num); /给新结点赋值strcpy(s-plane_num , plane_num);strcpy(s-end_place , end_place);strcpy(s-fly_data , fly_data);s-total =total;s-left =left;s-custom=custom;s-houbucus=houbucus;s-next=p-next; /新结点指向原第

7、i 个结点p-next=s; /原第 i-1 个结点指向新结点return OK; /插入成功/ customer 链表插入操作(同 airline 链表插入操作)status insert_customer(Linkcustomer L,int i,char *name,char *line_num,int piaonum)int j=0;Linkcustomer s,p=L;while(pif(!p|ji-1)return ERROR;s=new customersizeof(customer);strcpy(s-name , name);strcpy(s-line_num , line_

8、num);s-piaonum=piaonum;s-next=p-next;p-next=s;return OK;/ houbucustomer 入队操作void insert_houbucustomer(LinkQueue p=new houbuNodesizeof(houbuNode);strcpy(p-name , name);strcpy(p-end_place , end_place);p-pnum=pnum;p-next=NULL;Q.rear-next=p;Q.rear=p;/ houbucustomer 出队操作status del_houbucustomer(LinkQueue

9、 p=Q.front-next;strcpy(hbnode.name,p-name);strcpy(hbnode.end_place,p-end_place);hbnode.pnum=p-pnum;Q.front-next=p-next;if(Q.rear=p)Q.rear=Q.front;delete p;return OK;/houbucustomer 输出操作void print_houbucustomer(LinkQueue Q)houbucustomer p=Q.front-next;coutnameend_placepnum;p=p-next;coutnext ;for(;p!=N

10、ULL;p=p-next )coutline_numplane_numend_placefly_datatotallefthoubucus)custom)next;for(;p!=NULL;p=p-next )if(N=1)info=p-end_place;elseinfo=p-line_num;if(info=name)flag=false;coutline_numplane_numend_placefly_datatotalleftcustom)houbucus)next ;for(;p!=NULL;p=p-next )coutnameline_numpiaonumline_num1;co

11、utplane_num1;coutend_place1;coutfly_data1;couttotal1;coutleft1;insert_airline(l,airnum,line_num1,plane_num1,end_place1,fly_data1,total1,left1,custom,houbucus);airnum+;coutnext;for(;p!=NULL;p=p-next )if(strcmp(line_num,p-line_num )=0)p-left+;return OK;coutnext; /p 指向第一个结点Linkcustomer q=c-next; /q 指向第

12、一个结点for(;p!=NULL;p=p-next) /查找if(strcmp(end_place,p-end_place )=0)if(p-left-num =0) /剩余票数大于订票数coutline_num,num);/向顾客链表插入记录p-left-=num; /订票成功,剩余票数减少cusnum+; /顾客数加一return OK;else /剩余票数小于订票数char pd;coutpd;if(pd=Y|pd=y)/需要排队候补insert_houbucustomer(houbu,name,end_place,num);/向候补队列插入记录coutnext,pr=h; /p 指向顾

13、客链表首结点char line_num8;houbuNode hbnode;while(p!=NULL) /循环查找退票顾客if(strcmp(name,p-name )=0)strcpy(line_num,p-line_num );for(int i=0;ipiaonum;i+)/更改该航线的剩余票数modefy_airline(l,line_num);pr-next =p-next ;coutnamenext=NULL)elsedel_houbucustomer(houbu,hbnode);/候补顾客出队if(l-next-left=hbnode.pnum) /剩余票数多于排在第一位的客户

14、订的票数/为排在第一位的客户办理订票业务book(l,hbnode.end_place,h,hbnode.name,hbnode.pnum,houbu);coutnext ;p=pr-next ;cout “;for (k=1;kchoice;switch(choice)case 1: /航班信息录入system(“cls“);addmoreairline(air,customer,houbu); /录入航班信息system(“pause“);break;case 2: /订票system(“cls“);if(airLineEmpty(air) /订票前航班信息为空coutend_place;

15、coutname;coutnum;book(air,end_place,customer,name,num,houbu);/办理订票业务system(“pause“);break;case 3: /退票system(“cls“);coutname;delete_cus(customer,air,name,houbu);/办理退票业务system(“pause“);break;case 4: /查询航班及订票信息system(“cls“);if(airLineEmpty(air) /查询信息前航班信息为空coutyi;switch(yi)case 1:system(“cls“);coutend_

16、name;print_airline(air,end_name,1);/按终点站输出特定航班信息break;case 2:system(“cls“);coutair_line;print_airline(air,air_line,2);/按航班号输出特定航班信息break;case 3:system(“cls“);print_airline(air);/输出全部航班信息break;case 4:system(“cls“);print_airline(air);/输出全部航班信息coutqr;if(qr=Y|qr=y)cout谢谢您的使用!n“;cout“n 正在退出系统.n“;cout“n “;cout“r“;for(int i=0;i72;i+)cout“ “;Sleep(60);coutendl;t=0;system(“cls“);cout“已退出本系统!n“;break;elsebreak;default:system(“cls“);cout“输入有误n“;system(“pause“);return 0;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报