#include 创作时间:二零二一年六月三十日 #include void FlightInsert(); //增加路线 void FlightDelete();//删除路线 void FlightLookup();//航班查询 void FlightRework();//航班路线修改 void FlightBuyticket();//买票 void FlightCancelticket();//取消订票 void Flightclean();//清空 void MainMenu();//主函数 void Display();//显示订票信息 typedef struct Customer //已定票乘客信息 { char Name[10]; //姓名 int Amount; //定票数 int Level; //舱位品级 int SeatNum; //座位号 char FlightNum[10]; //所定航班号 struct Customer *next; }Customer; typedef struct WordStr //侯补乘客信息 { char Name[10]; //姓名e int Amount; //定票数 int Level; //舱位品级 char FlightNum[10]; //所定航班号 struct WordStr *next; }WordStr; typedef struct Flight //航班路线信息 { char From[10]; //起点站名 char Des[10]; //终点站名 char FlightNum[10]; //航班号 char PlaneNum[10]; //航班 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 char Week[20]; //飞机周日 int Ration; //乘员定额 int FreeTicket; //剩余票数 float Price[3]; //票价 int WordStrPas; //候补乘客数 WordStr *ReplName; //该航班的候补乘客名单 Customer *CustName; //该航班的已定票乘客名单 struct Flight *next; //指示下一航班路线结点 }Flight,*PFlight; int Ration=0; //乘客总数 Flight *head; //建立航班路线头结点 Flight *rear; //建立航班路尾结点 Customer *Cusrear; WordStr *Reprear; void MainMenu() { int i=0; while (i!=8) { cout< 创作时间:二零二一年六月三十日 ***************\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 FlightCancelticket(); break; //退订飞机票 case 6: Flightclean(); break; //清空系统 case 7: Display(); break; case 8:;break; default: cout<<\"*提示:抱愧, 请选择正确的把持!\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 cout<<\"6.请设定乘员定额:\"< void FlightLookup() //查询航班号 { Flight *p,*q; char FlightNum[10]; p=head; int i=0; while (i!=1) { cout<<\"请输入需要查询的航班号:\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 p=p->next; } q=p->next; if (q==NULL) { cout<<\"*提示:对不起, 不存在此航班号, 请核实您的信息!\"< 创作时间:二零二一年六月三十日 \"< while (p->next&&strcmp(p->next->FlightNum,FlightNum)) { p=p->next; } q=p->next; if (q==NULL) { cout<<\"*提示:对不起, 不存在此航班, 请核实您的信息!\"< 创作时间:二零二一年六月三十日 \"< 创作时间:二零二一年六月三十日 cout<<\" **************************************\"< case 9:cout<<\"9.请输入三等舱的价格:\"< default:cout<<\"*提示:对不起, 请选择正确的把持!\"< 创作时间:二零二一年六月三十日 void FlightBuyticket() //订票 { int Ticket_Amount; void Buyticket(PFlight ,int ); void BuyWordStr(PFlight ,int ,int ); Flight *p,*q; char Des[10]; int i=2; while (i!=1) { cout<<\"请输入目的地:\"< 创作时间:二零二一年六月三十日 cin>>Ticket_Amount; } if (Ticket_Amount<=q->FreeTicket) { Buyticket(q,Ticket_Amount); } else { int n; cout<<\"*提示:抱愧!剩余票数小于定票数, 是否需要列入候补名单?(【按1】是 【按2】否)\"< void FlightCancelticket() //退票 { void Buyticket(PFlight ,int ); Flight *p,*q; Customer *h,*j; char FlightNum[6]; char Customer_Name[10]; int WordStr1_Amount; //候补第一个人的定票数 int i; cout<<\"**********************************\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 p=head; while (p->next&&strcmp(p->next->FlightNum,FlightNum)) { p=p->next; } q=p->next; if (q==NULL) { cout<<\"*提示:对不起, 不存在此航班, 请核实您的信息!\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 h->next=h->next->next; q->FreeTicket+=j->Amount; delete j; cout<<\"*提示:退票胜利!\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 { cout<<\"No.\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 退票把持】!\"< void Flightclean()//清空 { head->next=rear->next; cout<<\"*提示:系统已经清空!\"< 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 Cusrear->next=Cus2; Cusrear=Cus2; Cusrear->next=NULL; } else{ Cusrear->next=Cus2; Cusrear=Cus2; Cusrear->next=NULL; } q->FreeTicket-=Ticket_Amount; } void BuyWordStr(PFlight q,int Ticket_Amount,int n) //进入候补队列 { WordStr *Rep2; Rep2=new WordStr; if(n==1) { q->WordStrPas+=Ticket_Amount; strcpy(Rep2->FlightNum,q->FlightNum); Rep2->Amount=Ticket_Amount; cout<<\"1.请输入姓名:\"< Reprear->next=NULL; } else{ Reprear->next=Rep2; Reprear=Rep2; 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日 Reprear->next=NULL; } } } void Display()//显示订票信息 创作时间:二零二一年六月三十日 创作时间:二零二一年六月三十日
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务