飞机订票系统_数据结构_数据结构航空订票系统

其他范文 时间:2020-02-28 04:24:42 收藏本文下载本文
【www.daodoc.com - 其他范文】

飞机订票系统_数据结构由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据结构航空订票系统”。

///////////////////////////////////////////////////////////////////// #include #include #include cla Customer

//已定票乘客信息 { public:

};char Name[10];

//姓名 int Amount;

//定票数 int Level;

//舱位等级 int SeatNum;

//座位号

char FlightNum[10];

//所定航班号

Customer *next;

cla Replace

//替补乘客信息 { public: char Name[10];

//姓名

int Amount;

//定票数 int Level;

//舱位等级

char FlightNum[10];

//所定航班号

Replace *next;

};

cla Flight

//航线信息 { public:

};cla Star { public: Flight(){Ration=0;} char Des[10];

//终点站名 char FlightNum[10];

//航班号 char PlaneNum[10];

//飞机号 char Week;

//飞行周日 int Ration;

//乘员定额 int FreeTicket;

//剩余票数 float Price[3];

//舱位等级的价格 int ReplacePas;

//候补乘客数

Replace *ReplName;

//该航班的候补乘客名单

Customer *CustName;

//该航班的已定票乘客名单 Flight *next;

//指示下一航线结点

void MainMenu();void setcolor(unsigned short color);void FlightInsert();void FlightDelete();void FlightLookup();void FlightRework();void FlightBuyticket();void FlightCancelticket();void Buyreplace(Flight *q,int Ticket_Amount,int n);void Buyticket(Flight *q,int Ticket_Amount);void Flightclean();private: int Ration;

//乘客总数

Flight *head;

//建立航线头结点

Flight *rear;

//建立航线尾结点

Customer *Cusrear;

Replace *Reprear;};

void Star:: MainMenu(){

head=new Flight;rear=head;char i='0';while(i!='8'){

setcolor(10);cout

**************************航空公司客运定票系统

*************************“

cout

*

*”

cout

*

1、增加航线

5、预订机票

*“

cout

*

cout

*

2、查询航线

6、退订机票

*”

cout

*

*“

cout

*

3、修改航线

7、清空系统

*”

cout

*

*“

cout

*

4、删除航线

8、退出系统

*”

cout

*

cout

***********************************************************************“

cin>>i;system(”cls“);switch(i){ case '1':FlightInsert();break;

case '2':FlightLookup();break;

case '3':FlightRework();break;

}

} case '4':FlightDelete();break;case '5':FlightBuyticket();break;case '6':FlightCancelticket();break;case '7':Flightclean();break;case '8':;break;default:cout

void Star:: FlightInsert()

//航班插入 { setcolor(15);

Flight *p;

p=new Flight;

cout

cin>>p->Des;

cout

cin>>p->FlightNum;

cout

cin>>p->PlaneNum;

cout

cin>>p->Week;

cout

cin>>p->Ration;

p->FreeTicket=p->Ration;

cout

cout

cin>>p->Price[0];

cout

cin>>p->Price[1];

cout

cin>>p->Price[2];

p->ReplName=new Replace;

p->CustName=new Customer;

p->CustName->next=NULL;

p->ReplName->next=NULL;

p->ReplacePas=0;

rear->next=p;

rear=p;

p->next=NULL;}

void Star:: FlightDelete()

//删除航班 {

setcolor(15);//米白 Flight *p,*q;char FlightNum[10];p=head;int i=0;while(i!=1){ cout

cin>>FlightNum;while(p->next&&strcmp(p->next->FlightNum,FlightNum)){ p=p->next;}

q=p->next;if(q!=NULL){

if(q->next==NULL){

//当删除rear所指向的结点

rear=p;}

p->next=p->next->next;

delete q;

}

else

{ } cout

}

} cout

1、退出

2、继续”>i;void Star:: FlightLookup()

//查询航班 {

setcolor(15);//米白 Flight *p,*q;char FlightNum[10];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

coutFlightNumPlaneNumDesWeekRationFreeTicketReplacePasPrice[0]Price[1]Price[2]

1、返回主菜单

2、继续“>i;}

void Star:: FlightRework()

//修改航线信息 {

setcolor(15);//米白 int Customer_Number;Flight *p,*q;char FlightNum[10];char i='0';p=head;cout>FlightNum;while(p->next&&strcmp(p->next->FlightNum,FlightNum)){ p=p->next;} q=p->next;if(q==NULL){ cout

{setcolor(10);

cout

*****请输入需要修改的数据*****”

cout

*

1、航班号

2、飞机号

*“

cout

*

3、目的地

4、飞行周日

*”

*

5、成员定额

6、头等舱价格*“

*

7、普通舱价格

8、经济舱价格*”

cout

*

9、退出

*“

cout

******************************”

cin>>i;

switch(i){ setcolor(15);//米白

case '1':cout>q->FlightNum;break;case '2':cout

cin>>q->PlaneNum;break;

case '3':cout

cin>>q->Des;break;

case '4':cout

cin>>q->Week;break;

case '5':coutRation-q->FreeTicket;

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

case '6':cout

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

case '7':cout

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

case '8':cout

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

case '9':

break;

default:cout

}

void Star:: FlightBuyticket()//订票 {

setcolor(15);//米白 int Ticket_Amount;Flight *p,*q;char Des[10];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){ } else {

while(i!=1){

cout>Ticket_Amount;while(Ticket_Amount==0){ cout

}

}

}

} cin>>Ticket_Amount;} if(Ticket_AmountFreeTicket){ Buyticket(q,Ticket_Amount);} else {

int n;cout

1、是

2、cin>>n;Buyreplace(q,Ticket_Amount,n);否)“

1、返回主菜单

2、继续”>i;

void Star::setcolor(unsigned short color){

}

HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hCon,color);

void Star:: FlightCancelticket()

//退票 { setcolor(15);Flight *p,*q;

Customer *h,*j;char FlightNum[6];char Customer_Name[10];int Replace1_Amount;

//候补第一个人的定票数 int i;while(i!=1){

cout>FlightNum;p=head;

while(p->next&&strcmp(p->next->FlightNum,FlightNum)){ p=p->next;} q=p->next;if(q==NULL){ } else {

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

if(j->next==NULL){

//当删除最后一个结点

Cusrear=h;}

h->next=h->next->next;q->FreeTicket+=j->Amount;delete j;

coutReplName->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;cout

}

}

}

}

}

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

strcpy(Cus2->Name, rep->Name);Cus2->Amount=rep->Amount;Cus2->Level=rep->Level;

coutName

for(int i=1;iAmount);i++){ }

cout

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

Cusrear=q->CustName;Cusrear->next=Cus2;Cusrear=Cus2;

coutSeatNum++

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;} cout

2、退出“>i;} cout

1、返回主菜单”>i;

void Star:: Flightclean(){setcolor(15);//米白

head->next=rear->next;cout

void Star:: Buyticket(Flight *q,int Ticket_Amount)

//买票 { setcolor(15);int n=Ticket_Amount;Customer *Cus2;Cus2=new Customer;Cus2->SeatNum=q->Ration-q->FreeTicket+1;strcpy(Cus2->FlightNum, q->FlightNum);Cus2->Amount=Ticket_Amount;cout>Cus2->Name;cout>Cus2->Level;cout

coutSeatNum++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;}

void Star:: Buyreplace(Flight *q,int Ticket_Amount,int n){ Replace *Rep2;Rep2=new Replace;if(n==1){

//进入候补队列

q->ReplacePas+=Ticket_Amount-q->FreeTicket;Buyticket(q,q->FreeTicket);strcpy(Rep2->FlightNum,q->FlightNum);Rep2->Amount=Ticket_Amount-q->Ration;cout>Rep2->Name;cout

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;

}

void main()//主程序 {

} //Cusrear=new Customer;//Reprear=new Replace;//head=rear=new Flight;//head->next=NULL;Star a;a.MainMenu();} }

下载飞机订票系统_数据结构word格式文档
下载飞机订票系统_数据结构.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文