航空客运订票系统数据结构课程设计源代码

上传人:笛音 文档编号:37167614 上传时间:2018-04-08 格式:DOCX 页数:17 大小:620.49KB
返回 下载 相关 举报
航空客运订票系统数据结构课程设计源代码_第1页
第1页 / 共17页
航空客运订票系统数据结构课程设计源代码_第2页
第2页 / 共17页
航空客运订票系统数据结构课程设计源代码_第3页
第3页 / 共17页
航空客运订票系统数据结构课程设计源代码_第4页
第4页 / 共17页
航空客运订票系统数据结构课程设计源代码_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《航空客运订票系统数据结构课程设计源代码》由会员分享,可在线阅读,更多相关《航空客运订票系统数据结构课程设计源代码(17页珍藏版)》请在金锄头文库上搜索。

1、算法与数据结构 课程设计报告设计题目: 专 业 班 级 学 生 学 号 指导教师 2014 年 第 1 学期长江大学计算机科学学院1 / 17第一部分:需求分析第一部分:需求分析1 1、系统名称:、系统名称:航空客运订票系统航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。要求 在 TC 或 VC 环境下设计一个航空客运订票系统,以使上述业务可以借助计算机 来完成。2 2、要求:、要求:(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、 飞行日期(星 期几)、乘员定额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候 替补的客户名单(包括姓名、所需票量)。(2)作为模拟系

2、统,全部数据可以只存放在内存中。(3)通过此系统可以实现如下功能:录入功能:可以录入航班情况查询功能:根据客户提供的终点站名进行查询,可以输出以下信息:航 班号、飞机号、星期几飞行和余票量等。也可以根据航班号,查询飞机某个航 线的情况。订票功能:根据客户提出的要求(姓名、终点站名、订票数量)查询该航 班的余票量情况。如尚有足够的余票,则为客户办理订票手续;若已满员或余 票量少于订票数量,则需要重新询问客户要求,如需要,可登记排队候补。退票功能:根据客户提供的情况(姓名、日期、航班号),为客户办理退 票手续,然后查询该航班是否有人排队候补,若有人排队,则为排在第一位的 客户办理订票手续。长江大学

3、计算机科学学院2 / 17第二部分:系统设计图样第二部分:系统设计图样一:设计说明一:设计说明1:添加航班:整个航班的信息保存在一个结构体 flight 中,采用结构体数组,每一 个航班信息包含航班号、起飞时间、起飞城市、降落时间、降落城市、余票数 量。航班信息通过 lulu()函数进行添加。添加的信息保存在航班 flight 结 构体数组中。2:查询航班:查询板块分为两个部分,按姓名查找和按站名查找。按姓名查找:通过所输入的姓名和已定客户的姓名相匹配,匹配成功则查 找成功。按站名查找:通过所输入的起始站名和终点站名进行匹配,匹配成功则查 找成功。3:订票功能:根据用户的姓名和航班号进行订票,

4、如果所查找的航班号的 余票满足用户需要的票数,则订票成功,该信息保存在 Customer 中,才用结构 体数组,包含已定客户的姓名、客户 ID、订的票数、起飞时间、起飞城市、降 落时间、降落城市、航班号。若所查找的航班的余票不满足客户的需求,则提 醒用户是否需要进入到等候用户的名单里,等候用户信息保存在 Wait 结构体数 组中,每添加一个信息,该数组则会生成一个记录。主程序添加航班查询航班订 票退 票浏览航班安全退出按姓名查找按航班查找已定客户等候客户所有航班长江大学计算机科学学院3 / 174:退票功能:根据用户的姓名和航班号进行退票,如果用户输入的姓名和 航班号在已定客户的结构体数组中能

5、找到该记录,则在已定客户的数组中删除 此条记录,并且将该条记录的票数添加到 flight 中该航班的余票中去。5:浏览航班:该功能分为三个板块:显示已定客户信息,显示等候客户名 单,显示所有航班信息。显示已定客户信息:通过格式化输出,将已定客户 Customer 结构体数组中 的信息利用一个循环输出。显示等候客户名单:通过格式化输出,将等候客户 Wait 结构体数组中的信 息利用一个循环进行输出。显示所有航班信息:铜锁格式化输出,将所有航班信息 flight 结构体数组 中的信息利用一个循环进行输出。6:安全退出:通过 exit 函数进行退出程序。第三部分:实现第三部分:实现1、头文件部分#i

6、nclude “stdafx.h“ #include #include #include #include #include #include #include #include2、函数体部分const int MAX_POSSIBILITY = 100; using namespace std; static string title6=“航班号“, “起飞时间“,“降落时间“,“起飞城市“, “ 降落城市“, “余票量“; static int wid6=8,10,10,10,10,8; static string title19=“客户姓名“,“座位号“,“航班号“,“证件号“,“订票

7、数“,“降落时间“,“起飞时间“,“起飞城市“,“降落城市“; static int wid19=8,9,8,8,8,11,11,11,11; static string title25=“客户姓名“,“起飞城市“,“降落城市“,“客 户 ID“,“预订票数“; static int wid25=8,10,10,10,10; extern int len=0;长江大学计算机科学学院4 / 17extern int A=0; extern int max1=0; struct flight /航班号 int a1; /航班号 string a2; /起飞时间 string a3; /降落时间 s

8、tring a4; /起飞城市 string a5; /降落城市 int a6; /余票 fl50; struct customer /客户信息 string name; /客户姓名 int seat; /座位号 int num; /航班号 string no; /证件号 int ps; /订票数 string jls; /降落时间string qfs; /起飞时间 string qfd; /起飞城市 string jld; /降落城市 cu100; struct wait string b1; /客户姓名 string b2; /起飞城市 string b3; /降落城市 string no

9、; /客户 ID int num; /订票数 Wa50; void luru(); /声明录入航班信息函数 void chaxun(); /声明查询函数 void dingpiao(); /声明订票函数 bool tuipiao(); /声明退票函数 void tuichu(); /声明退出函数 void menu(); /声明主菜单函数 void chaxun1(); /声明按航班号查询 void chaxun2(); /声明按城市查询 void visit(); /声明预览菜单 void visit1(); void visit2(); void visit3(); void fresh(

10、);长江大学计算机科学学院5 / 17void luru() coutfllen.a1; coutfllen.a2; coutfllen.a3; coutfllen.a4; coutfllen.a5; coutfllen.a6; len+; couts; switch(s) case 1:visit1(); /显示已定客户信息 break; case 2:visit2(); /显示等候客户信息 break; case 3:visit3(); /显示所有航班信息 break; default:couti; switch(i) case 1: luru(); break; case 2: chax

11、un(); break;长江大学计算机科学学院8 / 17case 3: dingpiao(); menu(); case 4:tuipiao(); break; case 5:visit(); break; case 6:tuichu(); exit(1); /case 7:fresh(); / break; default :coutt; switch(t) case 1:chaxun1(); break; case 2:chaxun2(); break; default :coutn; for(int j=0;jm1; coutm2;end:if(jName; coutfn; couty

12、dps; coutID; for(int i=0;i0 cuA.num=fn; cuA.ps=ydps; cuA.jld=fli.a5; cuA.jls=fli.a3; cuA.no=ID; cuA.qfd=fli.a4; cuA.qfs=fli.a2; srand( (unsigned)time( NULL ); cuA.seat= rand() % MAX_POSSIBILITY;/产生一个随机数 A+; fli.a6=fli.a6-ydps; sign=1; coutr; if(r=Y | r=y) queue M;Wamax1.b1=Name; Wamax1.b2=fli.a4; Wa

13、max1.b3=fli.a5; Wamax1.no=ID; Wamax1.num=ydps; M.push(Wamax1); max1+; coutName; coutfn; for(int i=0;i=len) cout“输入信息有误!退票失败“endl; menu(); return true; void tuichu() cout“*欢迎下次光临*“endl; void main() menu(); 长江大学计算机科学学院13 / 17第四部分:效果展示第四部分:效果展示1、打开界面2、录入界面长江大学计算机科学学院14 / 173、按航班号查找界面4、按城市查找界面5:订票界面长江大学

14、计算机科学学院15 / 176:预览所有航班界面长江大学计算机科学学院16 / 177:预览已定客户信息界面第五部分:心得体会第五部分:心得体会本次航空订票系统的课程设计,共完成了 5 个功能,即对航班的录入、查询航班、订票、退票、以及对所有航班信息的预览、已定客户和等候客户信息的预览。共采用三个结构体,即保存所有航班信息的 flight 结构体、保存已定客户信息的 Customer 结构体、保存等候客户信息的 Wait 结构体。本次设计全部采用的是数组顺序表,所以在操作起来比较方便,但是对于庞大的数据,操作起来就比较麻烦,这是本次设计的一个缺陷。同时,由于自己数据结构链表学习的不够扎实,所以对于链表的知识没有得到应用。总之,学习是一个厚积薄发的过程,平时在学的过程中掌握的多,理解多,见的多,练习的多,真正到自己做的时候就不会那么棘手。所以在以后学习过程中应该注重实践,而不是只关注课本上的零碎的知识点。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号