VC++航空订票系统数据库设计 第3页

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] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有