航空订票系统代码.doc

上传人:xin****828 文档编号:6627074 上传时间:2020-03-01 格式:DOC 页数:15 大小:48KB
返回 下载 相关 举报
航空订票系统代码.doc_第1页
第1页 / 共15页
航空订票系统代码.doc_第2页
第2页 / 共15页
航空订票系统代码.doc_第3页
第3页 / 共15页
点击查看更多>>
资源描述
#include #include void FlightInsert(); /增加路线void FlightDelete();/删除路线void FlightLookup();/航班查询void FlightRework();/航班路线修改void FlightBuyticket();/买票void FlightCancelticket();/取消订票void Flightclean();/清空void MainMenu();/主函数void Display();/显示订票信息typedef struct Customer /已定票乘客信息char Name10; /姓名int Amount; /定票数int Level; /舱位等级int SeatNum; /座位号char FlightNum10; /所定航班号struct Customer *next;Customer;typedef struct Replace /侯补乘客信息char Name10; /姓名eint Amount; /定票数int Level; /舱位等级char FlightNum10; /所定航班号struct Replace *next; Replace; typedef struct Flight /航班路线信息char From10; /起点站名char Des10; /终点站名char FlightNum10; /航班号char PlaneNum10; /航班char Week20; /飞机周日int Ration; /乘员定额int FreeTicket; /剩余票数float Price3; /票价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)coutendl;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 *提示:当前为主菜单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;coutendl;coutendl;break;void FlightInsert() /航班录入/*int i=2;while(i!=1)*/Flight *p;p=new Flight;cout*正在设定新的路线*endl;coutendl;cout1.请设定起点站名:p-From;cout2.请设定终点站名:p-Des;cout3.请设定航班号:p-FlightNum;cout4.请设定飞机号:p-PlaneNum;cout5.请设定飞行周日:p-Week;cout6.请设定乘员定额:p-Ration;p-FreeTicket=p-Ration;cout7.请设定一等舱的价格:p-Price0;cout8.请设定二等舱的价格:p-Price1;cout9.请设定三等舱的价格:p-Price2;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;coutendl;/*cout【按1】返回主菜单 【按2】继续i;*/void FlightLookup() /查询航班号Flight *p,*q;char FlightNum10;p=head;int i=0;while (i!=1)cout请输入需要查询的航班号:FlightNum;while (p-next & strcmp(p-next-FlightNum,FlightNum)p=p-next;q=p-next;if (q=NULL)cout*提示:对不起,不存在此航班号,请核实您的信息!endl;elsecout以下是您所查的车次信息:endl;cout*endl;cout* 1.航班号: FlightNumendl;cout* 2.飞机号: PlaneNumendl;cout* 3.起点站: Fromendl;cout* 4.目的地: Desendl;cout* 5.飞机周日: Weekendl;cout* 6.成员定额: Rationendl;cout* 7.剩余票数: FreeTicket张endl;cout* 8.候补乘客数: ReplacePas人endl;cout* 9.一等舱的价格: Price0元endl;cout* 10.二等舱的价格: Price1元endl;cout* 11.三等舱的价格: Price2元endl;cout*endl;cout您还需要其他的操作么?endl;coutendl;cout【按1】返回主菜单 【按2】继续操作i;cout*endl;coutendl;void FlightRework() /修改航班路线信息int Customer_Number ;Flight *p,*q;char FlightNum10;int i=0;int a=1;p=head;cout请输入需要修改的航班:FlightNum;while (p-next&strcmp(p-next-FlightNum,FlightNum)p=p-next;q=p-next;if (q=NULL)cout*提示:对不起,不存在此航班,请核实您的信息!endl;elsewhile(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 *i;switch(i)case 1:cout1.请输入航班号:q-FlightNum;break;case 2:cout2.请输入飞机号:q-PlaneNum;break;case 3:cout3.请输入起始站:q-From;break;case 4:cout4.请输入目的地:q-Des;break;case 5:cout5.请输入飞机周日:q-Week;break;case 6:cout6.请输入乘员定额:Ration-q-FreeTicket; cinq-Ration;q-FreeTicket=q-Ration-Customer_Number;break;case 7:cout7.请输入一等舱的价格:q-Price0;break;case 8:cout8.请输入二等舱的价格:q-Price1;break; case 9:cout9.请输入三等舱的价格:q-Price2;break;case 10:a=0;break; default:cout*提示:对不起,请选择正确的操作!endl;coutendl;coutendl;break;void FlightBuyticket() /订票int Ticket_Amount;void Buyticket(PFlight ,int );void Buyreplace(PFlight ,int ,int );Flight *p,*q;char Des10;int i=2;while (i!=1)cout请输入目的地:Des; p=head;while (p-next&strcmp(p-next-Des,Des)p=p-next;q=p-next;if (q=NULL)cout*提示:对不起,不存在此航班,请核实您的信息!endl;elsewhile(i!=1)cout请输入需要购买的票数:Ticket_Amount;while(Ticket_Amount=0 & Ticket_Amount0)cout*提示:对不起,请输入正确的票数!endl;coutendl;cout请输入需要够买的票数:Ticket_Amount;if (Ticket_AmountFreeTicket)Buyticket(q,Ticket_Amount);elseint n;cout*提示:抱歉!剩余票数小于定票数,是否需要列入候补名单?(【按1】是 【按2】否)n;Buyreplace(q,Ticket_Amount,n);coutendl;cout【按1】返回主菜单 【按2】继续i; void FlightCancelticket() /退票 void Buyticket(PFlight ,int );Flight *p,*q;Customer *h,*j;char FlightNum6;char Customer_Name10;int Replace1_Amount; /候补第一个人的定票数int i;cout*endl;while (i!=1)cout请输入需要退定的航班号:FlightNum;p=head;while (p-next&strcmp(p-next-FlightNum,FlightNum)p=p-next;q=p-next;if (q=NULL)cout*提示:对不起,不存在此航班,请核实您的信息!endl;elsewhile (i!=2)cout请输入所查姓名: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;coutnext=NULL) /当删除最后一个结点Cusrear=h; h-next=h-next-next;q-FreeTicket+=j-Amount;delete j; cout*提示:退票成功!ReplName-next!=NULL)Replace1_Amount=q-ReplName-next-Amount;if (Replace1_AmountFreeTicket)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;coutendl;cout候补乘客:Name已经成功买票! endl;coutendl;cout航班号:FlightNumendl;cout舱位等级为:Level(1一等舱,2二等舱,3三等舱)endl;cout座位号为:endl;for(int i=1;iAmount);i+)coutNo.SeatNum+ ;coutCustName-next=NULL)Cusrear=q-CustName;Cusrear-next=Cus2;Cusrear=Cus2;Cusrear-next=NULL;elseCusrear-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;couti;void Flightclean()/清空head-next=rear-next;cout*提示:系统已经清空!endl;coutSeatNum=q-Ration-q-FreeTicket+1;strcpy(Cus2-FlightNum, q-FlightNum );Cus2-Amount=Ticket_Amount;cout1.请输入姓名:Cus2-Name;cout2.请输入购买票的类型:endl;cout【按1】一等舱,【按2】二等舱,【按3】三等舱Cus2-Level;cout*提示:订票成功!endl;coutendl;cout舱位等级: Levelendl;cout座位号为:endl;for(int i=1;i=Ticket_Amount;i+)coutNo.SeatNum+ ;coutCustName-next=NULL)Cusrear=q-CustName;Cusrear-next=Cus2;Cusrear=Cus2;Cusrear-next=NULL; elseCusrear-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;cout1.请输入姓名:Rep2-Name;cout2.请输入购买票的类型:endl;cout【按1】一等舱,【按2】二等舱,【按3】三等舱Rep2-Level;if(q-ReplName-next=NULL)Reprear=q-ReplName;Reprear-next=Rep2;Reprear=Rep2; Reprear-next=NULL;elseReprear-next=Rep2; Reprear=Rep2;Reprear-next=NULL;void Display()/显示订票信息cout*提示:抱歉,该项目还在开发!endl;coutendl;int i;cout【按1】返回至主菜单i;while(i=1)break;/*Customer *h,*j;char Customer_Name10;int i;while (i!=2)cout请输入所查姓名: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;coutendl;elsecout*/Customer *p;/cout已买票的乘客有:endl;/coutendl;/cout姓名:Name航班号:FlightNum订票数:Amountendl;/cout舱位等级:Level座位号SeatNum;/Flight *q;/char FlightNum10;/cout以下是您所查的车次信息:endl;/cout*endl;/cout* 姓名: Nameendl;/cout* 航班号: FlightNumendl;/cout* 飞机号: PlaneNumendl;/cout* 起点站: Fromendl;/cout* 目的地: Desendl;/cout* 飞机周日: Weekendl;/cout* 舱位等级: Levelendl;*#include AirLineSystem.h#includevoid main() /主程序Cusrear=new Customer;Reprear=new Replace;head=rear=new Flight;head-next=NULL;MainMenu();
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!