1、航空订票系统代码#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; /姓名
2、int Amount; /定票数 int Level; /舱位等级 int SeatNum; /座位号 char FlightNum10; /所定航班号 struct Customer *next;Customer;typedef struct Replace /侯补乘客信息 char Name10; /姓名e int Amount; /定票数 int Level; /舱位等级 char FlightNum10; /所定航班号 struct Replace *next; Replace; typedef struct Flight /航班路线信息 char From10; /起点站名 char
3、 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 *hea
4、d; /建立航班路线头结点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、*【按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()
6、; 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; cout
7、endl; 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-Cu
8、stName-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-nex
9、t-FlightNum,FlightNum) p=p-next; q=p-next; if (q=NULL) cout*提示:对不起,不存在此航班号,请核实您的信息!endl; else cout以下是您所查的车次信息:endl; cout*endl; cout* 1.航班号: FlightNumendl; cout* 2.飞机号: PlaneNumendl; cout* 3.起点站: Fromendl; cout* 4.目的地: Desendl; cout* 5.飞机周日: Weekendl; cout* 6.成员定额: Rationendl; cout* 7.剩余票数: FreeTicke
10、t张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;
11、 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; else while(a) cout *【请输入需要修改的数据】*endl; cout endl; cout 【按1】航班号 endl; cout endl; cout 【按2】飞机号 endl; cout endl; cout 【按3】起始站 endl; cout
12、 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
13、.请输入飞机号: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;br
14、eak; 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请输入目的地:D
15、es; p=head; while (p-next&strcmp(p-next-Des,Des) p=p-next; q=p-next; if (q=NULL) cout*提示:对不起,不存在此航班,请核实您的信息!endl; else while(i!=1) cout请输入需要购买的票数:Ticket_Amount; while(Ticket_Amount=0 & Ticket_Amount0) cout*提示:对不起,请输入正确的票数!endl; coutendl; cout请输入需要够买的票数:Ticket_Amount; if (Ticket_AmountFreeTicket) Buy
16、ticket(q,Ticket_Amount); else int 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;
17、/候补第一个人的定票数 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; else while (i!=2) cout请输入所查姓名:Customer_Name; h=q-CustName; while (h-next&strcmp(h-next-Name,Customer_Name) h
18、=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
19、 *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;
20、cout座位号为:endl; for(int i=1;iAmount);i+) coutNo.SeatNum+ ; coutCustName-next=NULL) Cusrear=q-CustName; Cusrear-next=Cus2; Cusrear=Cus2; Cusrear-next=NULL; else Cusrear-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-FlightNu
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1