VC++航空订票系统数据库设计 第3页
}
q=p->next;
if (q!=NULL)
{
if(q->next==NULL)
{
rear=p;
}
p->next=p->next->next;
delete q;
}
else
{
cout<<"你所要删除的航班不存在"<<endl;
}
cout<<"1、退出2、继续"<<endl;
cin>>i;
}
}
4. FlightLookup()——查询航班信息
其实,查询航班的原理与删除原理相似,最中心的环节就是现对指定的航班进行定位。与删除不同的是,查询不涉及到指针的变换,仅仅输出要查询的信息就可以了,具体实现如下:
void FlightLookup() //查询航班
{
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;
}
q=p->next;
if (q==NULL)
{
cout<<"对不起不存在此航班"<<endl;
}
else
{
cout<<"航班号:"<<q->FlightNum<<endl;
cout<<"飞机号:"<<q->PlaneNum<<endl;
cout<<"目的地:"<<q->Des<<endl;
cout<<"飞行周日:"<<q->Week<<endl;
cout<<"成员定额:"<<q->Ration<<endl;
cout<<"剩余票数:"<<q->FreeTicket<<endl;
cout<<"候补乘客数:"<<q->ReplacePas<<endl;
cout<<"头等舱价格:"<<q->Price[0]<<endl;
cout<<"普通舱价格:"<<q->Price[1]<<endl;
cout<<"经济舱价格:"<<q->Price[2]<<endl;
cout<<"1、返回主菜单 2、继续"<<endl;
cin>>i;
}
}
5. FlightRework()——修改航线信息
在修改航线信息方面,中心思想依旧类似于删除和查找。只不过定位到所需信息之后要做的是重新给这些信息赋值。在功能方面,为了使用户便于操作,因此需要一个界面来使程序更直观化一些,具体实现如下:
void FlightRework() //修改航线信息
{
int Customer_Number ;
Flight *p,*q;
char FlightNum[10];
char i='0';
p=head;
cout<<"请输入需要修改的航班号:"<<endl;
cin>>FlightNum;
while (p->next&&strcmp(p->next->FlightNum,FlightNum))
{
p=p->next;
}
q=p->next;
if (q==NULL)
{
cout<<"对不起不存在此航班"<<endl;
}
else
{
while(i!='9')
{
cout<<" *****请输入需要修改的数据*****"<<endl;
cout<<" *1、航班号 2、飞机号 *"<<endl;
cout<<" *3、目的地 4、飞行周日 *"<<endl;
cout<<" *5、成员定额 6、头等舱价格*"<<endl;
cout<<" *7、普通舱价格 8、经济舱价格*"<<endl;
cout<<" * 9、退出 *"<<endl;
cout<<" ******************************"<<endl;
cin>>i;
switch(i)
{
case '1':cout<<"请输入航班号:"<<endl;
cin>>q->FlightNum;break;
case '2':cout<<"请输入飞机号:"<<endl;
cin>>q->PlaneNum;break;
case '3':cout<<"请输入目的地:"<<endl;
cin>>q->Des;break;
case '4':cout<<"请输入飞行周日:"<<endl;
cin>>q->Week;break;
case '5':cout<<"请输入乘员定额:"<<endl;
Customer_Number=q->Ration-q->FreeTicket;
cin>>q->Ration;q->FreeTicket=q->Ration-Customer_Number;break;
case '6':cout<<"请输入头等舱价格:"<<endl;
cin>>q->Price[0];break;
case '7':cout<<"请输入普通舱价格:"<<endl;
cin>>q->Price[1];break;
case '8':cout<<"请输入经济舱价格:"<<endl;
cin>>q->Price[2];break;
case '9':
break;
default:cout<<"error\n";break;
}
}
}
}
6. FlightBuyTicket()——订票
订票是本系统的核心功能,本系统的一切功能都是围绕“订票”这个关键词来进行的。用户确定所要乘坐的航班之后,进行订票,如果航班中的空余票数大于用户所要订的票数,则订票成功。否则询问用户是否进入候补乘客名单。其原理是运用链表的来添加乘客信息,运用队列来使替补乘客入队。其中,还调用了另外两函数:BuyTicket()和Buyreplace()来实现订票成功和进入替补乘客名单。具体实现如下:
void FlightBuyTicket() //订票
{
int Ticket_Amount;
void BuyTicket(PFlight ,int );
void Buyreplace(PFlight ,int ,int );
Flight *p,*q;
上一页 [1] [2] [3] [4] [5] [6] 下一页