版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
--#--l9--l9-voidorder()/*办理订票业务*/{structairline*info;intamount,grade;charname[10];info=start;if(!(info=find()))return;/*根据客户提供的航班号进行查询,如为空,退出该模块*/printf("请输入您订票的数量:");scanf("%d",&amount);if(amount>info->tkt_amt)/*若客户订票额超过乘员定票总额,退出*/{printf("\n对不起,您输入订票的数量已经超过乘员定额!");return;}if(amountv=info->tkt_sur)/*若客户订票额末超过余票量,订票成功并等记信息*/{inti;printf("请输入您的姓名(订票客户):");scanf("%s",name);printf("请输入%s票的舱位等级:",name);scanf("%d",&grade);info->order=insertlink(info->order,amount,name,grade);/*在订票乘员名单域中添加客户信息*/for(i=0;ivamount;i++)/*依次输出该订票客户的座位号*/printf("%s的座位号是:%d\n",name,info->tkt_amt-info->tkt_sur+i+l);info->tkt_sur-=amount;/*该航线的余票量应减掉该客户的订票量*/printf("\n订票成功,祝您旅途愉快!\n");}else/*若满员或余票额少于订票额,询问客户是否需要进行排队等候*/{charr;printf("\n已经没有更多的票,您需要排队等候吗?(需要请按'Y',若不需要请按'N')");fflush(stdin);scanf("%c",&r);if(r=='Y'||r=='y'){printf("\n请输入您的姓名(排队订票客户):");scanf("%s",name);info->wait=appendqueue(info->wait,name,amount);/*在排队等候乘员名单域中添加客户信息*/printf("\n注册成功!\n");}elseprintf("\n欢迎您下次再次订购!\n");}}voidreturn_tkt()/*退票模块*/{structairline*info;qnode*t,*back,*f,*r;intgrade,num;linklist*p1,*p2,*head;charcusname[10];if(!(info=find()))return;/*调用查询函数,根据客户提供的航线进行搜索*/head=info->order;p1=head;printf("请输入你的姓名(退票客户):");scanf("%s",cusname);while(p1!=NULL){/*根据客户提供的姓名到订票客户名单域进行查询*/if(!strcmp(cusname,p1->name))break;p2=p1;p1=p1->next;}if(pl==NULL){printf("对不起,你没有订过票!\n");return;}/*若未找到,退出本模块*/else{/*若信息查询成功,删除订票客户名单域中的信息*/printf("您的订票量为:%d\n",p1->ord_amt);printf("请输入您的退票数量:");scanf("%d",&num);if(p1==head){grade=p1->grade;if(p1->ord_amt==num){head=p1->next;free(p1);}else{if(p1->ord_amt>num)head->ord_amt-=num;}}else{if(p1->ord_amt==num){p2->next=p1->next;free(p1);}else{if(p1->ord_amt>num)p1->ord_amt-=num;}}info->tkt_sur+=num;printf("\n成功退票!\n");}info->order=head;/*重新将航线名单域指向订票单链表的头指针*/f=(info->wait).front;/*f指向排队等候名单队列的头结点*/r=(info->wait).rear;/*r指向排队等候名单队列的尾结点*/t=f;/*t为当前满点条件的排队候补名单域*/while(t){if(info->tkt_sur>=info->wait.front->req_amt){/*若满足条件者为头结点*/inti;info->wait.front=t->next;printf("%s订票成功!\n",t->name);for(i=0;ivt->req_amt;i++)/*输出座位号*/printf("%s的座位号是:%d\n",t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade);/*插入至U订票客户名单链表中*/free(t);break;}back=t;t=t->next;if((info->tkt_sur)>=(t->req_amt)&&t!=NULL)/*若满足条件者不为头结点*/{inti;back->next=t->next;printf("\n\t%s订票成功!\n",t->name);for(i=0;ivt->req_amt;i++)/*输出座位号*/printf("<%s>'sseatnumberis:%d\n",t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade);/*插入至U订票客户名单链表中*/free(t);break;}if(f==r)break;}}intmenu_select()/*菜单界面*/{intc;chars[20];
puts("========================================================="欢迎使用航空客运订票系统\n"!!====================\n"\n"!!#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*!!\n"!!\n"\n"!!!!2.浏览已订票客户信息!!\n"\n"\n"!!!!2.浏览已订票客户信息!!\n"3.查询航线\n"!!4.办理订票业务\n"!!5.办理退票业务\n"!!退出系统!!\n"\n"!!#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*#j*1.浏览航线信息\n\n\n"6.fl====================");do{printf("请选择并按回车键结束:");scanf("%s",s);c=atoi(s);}while(c<0||c>7);returnc;}intmain(void){structairlineair[MAXSIZE]={{"beijing","1","B8571","SUN",3,3},
{"shanghai","2","S1002","MON",2,2},{"london","3","L1003","FRI",l,l}};/*初始化航线信息*//*clrscr();*/start=air;for(;;){switch(menu_select()){case1:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多渠道销售管理实操经验分享
- 安全质量部副部长岗位竞聘指南
- 施工临时料场施工方案
- 口碑产品营销方案
- 公积金账户资料变更及管理办法
- 中小企业财务报表快速分析教程
- 用眼健康管理培训资料
- 大型设备吊装专项施工方案
- 钢筋笼制作及安装安全技术交底
- 面向时变背景谐波场景的谐波定量溯源方法研究
- 浆砌石挡墙拆除施工详细技术方案
- 乡村道路修建知识培训课件
- 2025宁夏旅游投资集团有限公司招聘16人(第二批)笔试备考题库及答案解析
- 公路养护项目安全技术交底
- 青马结业考试题及答案
- 第9课《天上有颗“南仁东星”》 课件 2025-2026学年统编版语文八年级上册
- 混凝土工程成本控制方案
- (2025年标准)图纸授权协议书
- 孕妇易栓症课件
- 关于卫生院章程
- 2025年地基基础检测低应变检测考试题与答案
评论
0/150
提交评论