3. 替补乘客结构体:
typedef struct Replace //替补乘客信息
{
char Name[10]; //姓名
int Amount; //定票数
int Level; //舱位等级
char FlightNum[10]; //所定航班号
struct Replace *next;
}Replace;
以上三个结构体是以乘客信息、替补乘客信息为基础、再此之上有定义了飞机航线的结构体以及结点类型指针的结构体。并在后者结构中引入了前两种结构体。并且单独定义了两个指向Flight的指针,作为头只指针和尾指针:
Flight *head; //建立航线头结点
Flight *rear; //建立航线尾结点
以及乘客队列的指针:
Customer *Cusrear;
Replace *Reprear;
为今后的程序设计奠定了基础。
其次,编写实现各个功能的函数与方法:
1. MainMenu()——系统主菜单
此函数设计了本系统的界面,是程序的开始,具体实现如下:
void MainMenu()
{
char i='0';
while (i!='8')
{
cout<<" ***********南昌航空公司客运定票系统V1.0***********"<<endl;
cout<<" * 1、增加航线 5、预订机票 *"<<endl;
cout<<" * 2、查询航线 6、退订机票 *"<<endl;
cout<<" * 3、修改航线 7、清空系统 *"<<endl;
cout<<" * 4、删除航线 8、退出系统 *"<<endl;
cout<<" **************************************************"<<endl;
cin>>i;
switch(i)
{
case '1':FlightInsert();break;
case '2':FlightSearch();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<<"error\n";break;
}
}
}
2. void FlightInsert()——添加航班信息
此方法主要用到链表的思想,类似于链表中的插入属性。与一般链表不同的是,此方法设置了一个表尾指针,便于航班信息的添加,具体实现如下:
void FlightInsert() //添加航班信息
{
Flight *p;
p=new Flight;
cout<<"请输入终点站名:"<<endl;
cin>>p->Des;
cout<<"请输入航班号:"<<endl;
cin>>p->FlightNum;
cout<<"请输入飞机号:"<<endl;
cin>>p->PlaneNum;
cout<<"请输入飞行周日:"<<endl;
cin>>p->Week;
cout<<"请输入乘员定额:"<<endl;
cin>>p->Ration;
p->FreeTicket=p->Ration;
cout<<"请输入舱位等级的价格:"<<endl;
cout<<"头等舱价格"<<endl;
cin>>p->Price[0];
cout<<"普通舱价格"<<endl;
cin>>p->Price[1];
cout<<"经济舱价格"<<endl;
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;
rear->next=NULL;
}
3. FlightDelete()——删除航班信息
类比于上述的添加航班信息,删除航班同样是依靠了链表的思想来完成。不同的是,在删除方面用到了表头指针这个工具,来定位索要删除的航班信息,具体实现如下:
void FlightDelete() //删除航班信息
{
Flight *p,*q;
char FlightNum[10];
p=head;
int i=0;
while (i!=1)
{
cout<<"请输入需要删除的航班号:"<<endl;
cin>>FlightNum;
while (p->next&&strcmp(p->next->FlightNum,FlightNum))
{ p=p->next;
上一页 [1] [2] [3] [4] [5] [6] 下一页