航空订票系统简单实现:
1、需求分析:
航班系统需求能根据客户输入的目的地查询相关航班信息,还能在此系统上面预定、取消航班。同时能浏览航班余票量等情况。综合上所述此题目的功能需求主要为:1.查询航班,2.订票.3.退票。
2、概要设计:
由于是针对于客户,所以我们这里就不再需要输入具体有哪些航班信息,我们可以采用默认有哪些航班在开放,利用数组进行存储。另外,订票模块是利用顺序表(链表)进行存储,毕竟预定人数未知,采用链表不用考虑上溢问题,退票模块是用链队,主要考虑到退票人员数目大,次序的先后顺序问题,这个需要采用“先申请先办理”,队列能处理这一问题。
程序大体形式为:先主程序,主程序界面提供多个模块的选择,每个模块对应相应的函数调用。我这里的预定函数和退票函数是分开的,一个为简单链表,一个为简单链队。但是他们都能对航班信息模块的信息进行更改。总的来说,此程序包含三个模块(1、航班信息2.客户信息。(预定信息在这个模块里面)3.退票信息)
3、详细设计:
以上为大致的流程图。每个模块后面有相应的函数调用。以下为主函数的源代码:
源文件:
#include<iostream>
#include"航班信息.h"
#include"客户信息.h"
#include"process.h"
#include<string>
using namespace std;
int main()
{
Bookdataly;
AirLineLY;
linkqueueLy;
system("cls");
intchioce;
do{
cout<< endl;
cout<< "\t\t\t 航空客运订票系统\n" << endl;
cout<< "\t\t---------------------------------\n";
cout<< "\t\t---------------------------------\n";
cout<< " ***1.航线信息***\n";
cout<< " ***2.预定信息(已预定、未预定、)***\n";
cout<< " ***3.查询航线***\n";
cout<< " ***4.订票办理***\n";
cout<< " ***5.退票办理***\n";
cout<< " ***6.退出系统***\n";
cout<< "\t\t----------------------------------\n";
cout<< "\t\t----------------------------------\n";
cout<< "\t\t----*****输入chioce:" <<" " << endl;
cin>> chioce;
switch(chioce)
{
case1:LY.Display(); break;//展现开设航班信息
case2://由于人员信息有两个,一个为未预定(表示需要退票的,),一个为已经预定的,另外已经预定了的,有已经预定了人员名单列表,当然,为了解决客户想看已预定中某个人的订单信息,这里还设置一个选择调用函数。进行功能满足。
{
int chioce;
do{
cout<< endl;
cout<< "\t\t\t *****预定信息界面*****\n" << endl;
cout<< "\t\t--------------------------------------\n";
cout<< "\t\t--------------------------------------\n";
cout<< " ***1.已经预定\n";
cout<< " ***2.未预定人员 \n";
cout<< " ***3.退出此系统 \n";
cout<< "\t\t--------------------------------------\n";
cout<< "\t\t--------------------------------------\n";
cout<< "----*****输入chioce:" <<" " << endl;
cin>> chioce;
switch(chioce)
{
case1:ly.Displaylinklist(); break;
case2:Ly.display(); break;
case3:
; break;
}
}while (chioce != 3);
}break;
case3:LY.Search(); break;//查找航班函数
case4:ly.Book(); break;//预定航班函数
case5:ly.Deletelinklist();//先在已经预链表上面删除此人,
Ly.enter(ly.name);//在队列上面入队此人名字
break;
case6:cout << "\n感谢使用本系统欢迎您下次使用!\n";
exit(0);
default:
cout<< "Invalid chioce!\n";
}
}while (chioce != 6);
return0;
}
头文件("航班信息.h")("客户信息.h")如下:
头文件&#x