毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

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

更新时间:2010-3-2:  来源:毕业论文
VC++航空订票系统数据库设计 第2页
四 详细设计
本航空客运售票系统分为两个文件:1. 头文件Ticket.h,用来存放系统中数据结构的结构体,以及所要到的方法及函数。 2.C++文件 Ticket.cpp.,本文件主要是本系统的主函数,其中调用头文件,来实现系统的功能。具体实现如下:
(一) Ticket.h,:
在前文中已介绍过,本文件是头文件,将售票系统的数据中的结构体定义在其中,并且利用所定义的结构来编写函数、方法来实现系统的功能。
首先采用链式结构,定义出三个结构体:
1. 航线的结构体:
typedef struct Flight   //航线信息
{
 char Des[10];   //终点站名
 char FlightNum[10];   //航班号
 char PlaneNum[10];   //飞机号
 char Week;   //飞行周日
 int Ration;   //乘员定额
 int FreeTicket;   //剩余票数
 float Price[3];   //舱位等级的价格
 int ReplacePas;   //候补乘客数
 Replace *ReplName;   //该航班的候补乘客名单     
 Customer *CustName;   //该航班的已定票乘客名单
 struct Flight *next;   //指示下一航线结点
}Flight,*PFlight;
2. 乘客结构体:
typedef struct Customer   //已定票乘客信息
{
 char Name[10];   //姓名
 int Amount;   //定票数
 int Level;   //舱位等级
 int SeatNum;   //座位号
 char FlightNum[10];   //所定航班号
 struct Customer *next;
}Customer;

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

VC++航空订票系统数据库设计 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。