✅ 操作成功!

飞机航班号

发布时间:2023-06-08 作者:admin 来源:文学

飞机航班号

飞机航班号

-

2023年2月20日发(作者:)

#include之南宫帮珍创作

#include

voidFlightInsert();//增加路线

voidFlightDelete();//删除路线

voidFlightLookup();//航班查询

voidFlightRework();//航班路线修改

voidFlightBuyticket();//买票

voidFlightCancelticket();//取消订票

voidFlightclean();//清空

voidMainMenu();//主函数

voidDisplay();//显示订票信息

typedefstructCustomer//已定票乘客信息

{

charName[10];//姓名

intAmount;//定票数

intLevel;//舱位等级

intSeatNum;//座位号

charFlightNum[10];//所定航班号

structCustomer*next;

}Customer;

typedefstructWordStr//侯补乘客信息

{

charName[10];//姓名e

intAmount;//定票数

intLevel;//舱位等级

charFlightNum[10];//所定航班号

structWordStr*next;

}WordStr;

typedefstructFlight//航班路线信息

{

charFrom[10];//起点站名

charDes[10];//终点站名

charFlightNum[10];//航班号

charPlaneNum[10];//航班

charWeek[20];//飞机周日

intRation;//乘员定额

intFreeTicket;//剩余票数

floatPrice[3];//票价

intWordStrPas;//候补乘客数

WordStr*ReplName;//该航班的候补乘客名单

Customer*CustName;//该航班的已定票乘客名单

structFlight*next;//指示下一航班路线结点

}Flight,*PFlight;

intRation=0;//乘客总数

Flight*head;//建立航班路线头结点

Flight*rear;//建立航班路尾结点

Customer*Cusrear;

WordStr*Reprear;

voidMainMenu()

{

inti=0;

while(i!=8)

{

cout<

cout<<\"***************【欢迎使用航空订票系统】

***************\"<

cout<<\"

\"<

cout<<\"***************【按1】增加航班路线

***************\"<

cout<<\"

\"<

cout<<\"***************【按2】查询航班路线

***************\"<

cout<<\"

\"<

cout<<\"***************【按3】修改航班路线

***************\"<

cout<<\"

\"<

cout<<\"***************【按4】预订飞机票

***************\"<

cout<<\"

\"<

cout<<\"***************【按5】退订飞机票

***************\"<

cout<<\"

\"<

cout<<\"***************【按6】清空系统

***************\"<

cout<<\"

\"<

cout<<\"***************【按7】已订票名单

***************\"<

cout<<\"

\"<

cout<<\"***************【按8】退出系统

***************\"<

cout<<\"

\"<

cout<<\"*提示:

当前为主菜单\"<

cin>>i;

switch(i)

{

case1:

FlightInsert();

break;//增加航班路线

case2:

FlightLookup();

break;//查询航班路线

case3:

FlightRework();

break;//修改航班路线

case4:

FlightBuyticket();

break;//预订飞机票

case5:

FlightCancelticket();

break;//退订飞机票

case6:

Flightclean();

break;//清空系统

case7:

Display();

break;

case8:;break;

default:

cout<<\"*提示:抱愧,请选择正确的操纵!\"<

cout<

cout<

break;

}

}

}

voidFlightInsert()//航班录入

{

/*inti=2;

while(i!=1)

{*/

Flight*p;

p=newFlight;

cout<<\"****正在设定新的路线****\"<

cout<

cout<<\"1.请设定起点站名:\"<

cin>>p->From;

cout<<\"2.请设定终点站名:\"<

cin>>p->Des;

cout<<\"3.请设定航班号:\"<

cin>>p->FlightNum;

cout<<\"4.请设定飞机号:\"<

cin>>p->PlaneNum;

cout<<\"5.请设定飞行周日:\"<

cin>>p->Week;

cout<<\"6.请设定乘员定额:\"<

cin>>p->Ration;

p->FreeTicket=p->Ration;

cout<<\"7.请设定一等舱的价格:\"<

cin>>p->Price[0];

cout<<\"8.请设定二等舱的价格:\"<

cin>>p->Price[1];

cout<<\"9.请设定三等舱的价格:\"<

cin>>p->Price[2];

p->ReplName=newWordStr;

p->CustName=newCustomer;

p->CustName->next=NULL;

p->ReplName->next=NULL;

p->WordStrPas=0;

rear->next=p;

rear=p;

rear->next=NULL;

cout<<\"设置成功!\"<

cout<<\"***********************\"<

cout<

/*cout<<\"【按1】返回主菜单【按2】继续\"<

cin>>i;

}*/

}

voidFlightLookup()//查询航班号

{

Flight*p,*q;

charFlightNum[10];

p=head;

inti=0;

while(i!=1)

{

cout<<\"请输入需要查询的航班号:\"<

cin>>FlightNum;

while(p->next&&strcmp(p->next->FlightNum,FlightNum))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<\"*提示:对不起,不存在此航班号,请核实您的信

息!\"<

}

else

{

cout<<\"以下是您所查的车次信息:\"<

cout<<\"************************\"<

cout<<\"*1.航班号:\"

cout<<\"*2.飞机号:\"

cout<<\"*3.起点站:\"

cout<<\"*4.目的地:\"

cout<<\"*5.飞机周日:\"

cout<<\"*6.成员定额:\"

cout<<\"*7.剩余票数:\"

\"<

cout<<\"*8.候补乘客数:\"

\"<

cout<<\"*9.一等舱的价格:\"

\"<

cout<<\"*10.二等舱的价格:\"

\"<

cout<<\"*11.三等舱的价格:\"

\"<

cout<<\"************************\"<

}

cout<<\"您还需要其他的操纵么?\"<

cout<

cout<<\"【按1】返回主菜单【按2】继续操纵\"<

cin>>i;

cout<<\"************************\"<

cout<

}

}

voidFlightRework()//修改航班路线信息

{

intCustomer_Number;

Flight*p,*q;

charFlightNum[10];

inti=0;

inta=1;

p=head;

cout<<\"请输入需要修改的航班:\"<

cin>>FlightNum;

while(p->next&&strcmp(p->next->FlightNum,FlightNum))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<\"*提示:对不起,不存在此航班,请核实您的信息!

\"<

}

else

{

while(a)

{

cout<<\"*******【请输入需要修改的数据】

*******\"<

cout<<\"

\"<

cout<<\"【按1】航班号

\"<

cout<<\"

\"<

cout<<\"【按2】飞机号

\"<

cout<<\"

\"<

cout<<\"【按3】起始站

\"<

cout<<\"

\"<

cout<<\"【按4】目的地

\"<

cout<<\"

\"<

cout<<\"【按5】每周出站日期

\"<

cout<<\"

\"<

cout<<\"【按6】成员定额

\"<

cout<<\"

\"<

cout<<\"【按7】一等舱的价格

\"<

cout<<\"

\"<

cout<<\"【按8】二等舱的价格

\"<

cout<<\"

\"<

cout<<\"【按9】三等舱的价格

\"<

cout<<\"

\"<

cout<<\"【按10】退出

\"<

cout<<\"

\"<

cout<<\"

**************************************\"<

cin>>i;

switch(i)

{

case1:cout<<\"1.请输入航班号:\"<

cin>>q->FlightNum;break;

case2:cout<<\"2.请输入飞机号:\"<

cin>>q->PlaneNum;break;

case3:cout<<\"3.请输入起始站:\"<

cin>>q->From;break;

case4:cout<<\"4.请输入目的地:\"<

cin>>q->Des;break;

case5:cout<<\"5.请输入飞机周日:\"<

cin>>q->Week;break;

case6:cout<<\"6.请输入乘员定额:\"<

Customer_Number=q->Ration-q->FreeTicket;

cin>>q->Ration;q->FreeTicket=q->Ration-

Customer_Number;break;

case7:cout<<\"7.请输入一等舱的价格:\"<

cin>>q->Price[0];break;

case8:cout<<\"8.请输入二等舱的价格:\"<

cin>>q->Price[1];break;

case9:cout<<\"9.请输入三等舱的价格:\"<

cin>>q->Price[2];break;

case10:a=0;

break;

default:cout<<\"*提示:对不起,请选择正确的操纵!\"<

cout<

cout<

break;

}

}

}

}

voidFlightBuyticket()//订票

{

intTicket_Amount;

voidBuyticket(PFlight,int);

voidBuyWordStr(PFlight,int,int);

Flight*p,*q;

charDes[10];

inti=2;

while(i!=1)

{

cout<<\"请输入目的地:\"<

cin>>Des;

p=head;

while(p->next&&strcmp(p->next->Des,Des))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<\"*提示:对不起,不存在此航班,请核实您的信息!

\"<

}

else

{

while(i!=1)

{

cout<<\"请输入需要购买的票数:\"<

cin>>Ticket_Amount;

while(Ticket_Amount==0&&Ticket_Amount<0)

{

cout<<\"*提示:对不起,请输入正确的票数!

\"<

cout<

cout<<\"请输入需要够买的票数:\"<

cin>>Ticket_Amount;

}

if(Ticket_AmountFreeTicket)

{

Buyticket(q,Ticket_Amount);

}

else

{

intn;

cout<<\"*提示:抱愧!剩余票数小于定票数,是

否需要列入候补名单?(【按1】是【按2】否)\"<

cin>>n;

BuyWordStr(q,Ticket_Amount,n);

}

cout<

cout<<\"【按1】返回主菜单【按2】继续\"<

cin>>i;

}

}

}

}

voidFlightCancelticket()//退票

{

voidBuyticket(PFlight,int);

Flight*p,*q;

Customer*h,*j;

charFlightNum[6];

charCustomer_Name[10];

intWordStr1_Amount;//候补第一个人的定票数

inti;

cout<<\"**********************************\"<

while(i!=1)

{

cout<<\"请输入需要退定的航班号:\"<

cin>>FlightNum;

p=head;

while(p->next&&strcmp(p->next->FlightNum,FlightNum))

{

p=p->next;

}

q=p->next;

if(q==NULL)

{

cout<<\"*提示:对不起,不存在此航班,请核实您的信息!

\"<

}

else

{

while(i!=2)

{

cout<<\"请输入所查姓名:\"<

cin>>Customer_Name;

h=q->CustName;

while(h->next&&strcmp(h->next-

>Name,Customer_Name))

{

h=h->next;

}

j=h->next;

if(j==NULL)

{

cout<<\"*提示:对不起,查无此人,请核实您的

信息!\"<

cout<

}

else

{

if(j->next==NULL)

{//当删除最后一个结点

Cusrear=h;

}

h->next=h->next->next;

q->FreeTicket+=j->Amount;

deletej;

cout<<\"*提示:退票成功!\"<

if(q->ReplName->next!=NULL)

{

WordStr1_Amount=q->ReplName->next-

>Amount;

if(WordStr1_AmountFreeTicket)

{

WordStr*rep;

rep=q->ReplName->next;

Customer*Cus2;

Cus2=newCustomer;

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<<\"*提示:\"<

cout<

cout<<\"候补乘客:\"

已经成功买票!\"<

cout<

cout<<\"航班号:\"<

>FlightNum<

cout<<\"舱位等级为:\"<

>Level<<\"(1一等舱,2二等舱,3三等舱)\"<

cout<<\"座位号为:\"<

for(inti=1;iAmount);i++)

{

cout<<\"No.\"<

>SeatNum++<<\"\";

}

cout<

if(q->CustName->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->WordStrPas--;

deleterep;

}

}

}

break;

}

}

cout<<\"【按1】返回主菜单,或按任意键返回【继续退票操

纵】!\"<

cout<

cin>>i;

}

}

voidFlightclean()//清空

{

head->next=rear->next;

cout<<\"*提示:系统已经清空!\"<

cout<

}

voidBuyticket(PFlightq,intTicket_Amount)//买票

{

intn=Ticket_Amount;

Customer*Cus2;

Cus2=newCustomer;

Cus2->SeatNum=q->Ration-q->FreeTicket+1;

strcpy(Cus2->FlightNum,q->FlightNum);

Cus2->Amount=Ticket_Amount;

cout<<\"1.请输入姓名:\"<

cin>>Cus2->Name;

cout<<\"2.请输入购买票的类型:\"<

cout<<\"【按1】一等舱,【按2】二等舱,【按3】三等舱\"<

cin>>Cus2->Level;

cout<<\"*提示:订票成功!\"<

cout<

cout<<\"舱位等级:\"<<\"\"

cout<<\"座位号为:\"<

for(inti=1;i<=Ticket_Amount;i++)

{

cout<<\"No.\"

}

cout<

if(q->CustName->next==NULL)

{

Cusrear=q->CustName;

Cusrear->next=Cus2;

Cusrear=Cus2;

Cusrear->next=NULL;

}

else{

Cusrear->next=Cus2;

Cusrear=Cus2;

Cusrear->next=NULL;

}

q->FreeTicket-=Ticket_Amount;

}

voidBuyWordStr(PFlightq,intTicket_Amount,intn)//进入候补队列

{

WordStr*Rep2;

Rep2=newWordStr;

if(n==1)

{

q->WordStrPas+=Ticket_Amount;

strcpy(Rep2->FlightNum,q->FlightNum);

Rep2->Amount=Ticket_Amount;

cout<<\"1.请输入姓名:\"<

cin>>Rep2->Name;

cout<<\"2.请输入购买票的类型:\"<

cout<<\"【按1】一等舱,【按2】二等舱,【按3】三等舱

\"<

cin>>Rep2->Level;

if(q->ReplName->next==NULL)

{

Reprear=q->ReplName;

Reprear->next=Rep2;

Reprear=Rep2;

Reprear->next=NULL;

}

else{

Reprear->next=Rep2;

Reprear=Rep2;

Reprear->next=NULL;

}

}

}

voidDisplay()//显示订票信息

👁️ 阅读量:0