ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:617.53KB ,
资源ID:4238811      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4238811.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计源代码完整版.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计源代码完整版.docx

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

2、能:可以录入航班情况查询功能:根据客户提供的终点站名进行查询,可以输出以下信息:航班号、飞机号、星期几飞行和余票量等。也可以根据航班号,查询飞机某个航线的情况。订票功能:根据客户提出的要求(姓名、终点站名、订票数量)查询该航班的余票量情况。如尚有足够的余票,则为客户办理订票手续;若已满员或余票量少于订票数量,则需要重新询问客户要求,如需要,可登记排队候补。退票功能:根据客户提供的情况(姓名、日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,若有人排队,则为排在第一位的客户办理订票手续。第二部分:系统设计图样一:设计说明1:添加航班: 整个航班的信息保存在一个结构体flight

3、中,采用结构体数组,每一个航班信息包含航班号、起飞时间、起飞城市、降落时间、降落城市、余票数量。航班信息通过lulu()函数进行添加。添加的信息保存在航班flight结构体数组中。2:查询航班:查询板块分为两个部分,按姓名查找和按站名查找。按姓名查找:通过所输入的姓名和已定客户的姓名相匹配,匹配成功则查找成功。按站名查找:通过所输入的起始站名和终点站名进行匹配,匹配成功则查找成功。3:订票功能:根据用户的姓名和航班号进行订票,如果所查找的航班号的余票满足用户需要的票数,则订票成功,该信息保存在Customer中,才用结构体数组,包含已定客户的姓名、客户ID、订的票数、起飞时间、起飞城市、降落时

4、间、降落城市、航班号。若所查找的航班的余票不满足客户的需求,则提醒用户是否需要进入到等候用户的名单里,等候用户信息保存在Wait结构体数组中,每添加一个信息,该数组则会生成一个记录。4:退票功能:根据用户的姓名和航班号进行退票,如果用户输入的姓名和航班号在已定客户的结构体数组中能找到该记录,则在已定客户的数组中删除此条记录,并且将该条记录的票数添加到flight中该航班的余票中去。5:浏览航班:该功能分为三个板块:显示已定客户信息,显示等候客户名单,显示所有航班信息。显示已定客户信息:通过格式化输出,将已定客户Customer结构体数组中的信息利用一个循环输出。显示等候客户名单:通过格式化输出

5、,将等候客户Wait结构体数组中的信息利用一个循环进行输出。显示所有航班信息:铜锁格式化输出,将所有航班信息flight结构体数组中的信息利用一个循环进行输出。6:安全退出:通过exit函数进行退出程序。第三部分:实现1、头文件部分#include stdafx.h#include #include #include#include#include#include #include #include2、函数体部分const int MAX_POSSIBILITY = 100;using namespace std;static string title6=航班号, 起飞时间,降落时间,起飞城市

6、, 降落城市, 余票量;static int wid6=8,10,10,10,10,8;static string title19=客户姓名,座位号,航班号,证件号,订票数,降落时间,起飞时间,起飞城市,降落城市;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;extern int A=0;extern int max1=0;struct flight /航班号 int a

7、1; /航班号 string a2; /起飞时间 string a3; /降落时间 string 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; /客户姓名 str

8、ing b2; /起飞城市 string b3; /降落城市 string no; /客户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

9、();void visit3();void fresh();void luru() cout*请输入航班信息*endl; coutfllen.a1; coutfllen.a2; coutfllen.a3; coutfllen.a4; coutfllen.a5; coutfllen.a6; len+; cout请选择所要进行的操作endl; menu();void visit() cout1:显示已定航班信息endl; cout2:显示等候客户信息endl; cout3:显示所有航班信息endl; couts; switch(s) case 1:visit1(); /显示已定客户信息 break

10、; case 2:visit2(); /显示等候客户信息 break; case 3:visit3(); /显示所有航班信息 break; default:cout*请重新输入*endl; goto end; /break; return;void visit1() cout*已定客户信息*endl; for(int i=0;i9;i+) coutsetw(wid1i)title1i; coutendl; for(int j=0;jA;j+) coutsetw(wid10)cuj.name; coutsetw(wid11)cuj.seat; coutsetw(wid12)cuj.num; co

11、utsetw(wid13)cuj.no; coutsetw(wid14)cuj.ps; coutsetw(wid15)cuj.jls; coutsetw(wid16)cuj.qfs; coutsetw(wid17)cuj.qfd; coutsetw(wid18)cuj.jld; coutendl; menu();void visit2() cout*等候客户信息*endl; for(int i=0;i5;i+) coutsetw(wid2i)title2i; coutendl; for(int j=0;jmax1;j+) coutsetw(wid20)Waj.b1; coutsetw(wid2

12、1)Waj.b2; coutsetw(wid22)Waj.b3; coutsetw(wid23)Waj.no; coutsetw(wid24)Waj.num; coutendl; menu();void visit3() cout*所有航班信息*endl; for(int i=0;i6;i+) coutsetw(widi)titlei; coutendl; for(int j=0;jlen;j+) coutsetw(wid0)flj.a1; coutsetw(wid1)flj.a2; coutsetw(wid2)flj.a3; coutsetw(wid3)flj.a4; coutsetw(wi

13、d4)flj.a5; coutsetw(wid5)flj.a6; coutendl; menu();void fresh() if(tuipiao()=true) cout*退票成功,等候客户可以进行购票*endl; dingpiao(); menu();void menu() cout endl; cout*欢迎来到航空订票系统*endl; cout endl; cout*endl; cout*1.录入航班信息*endl; cout*2.查询航班信息*endl; cout*3.订 票*endl; cout*4.退 票*endl; cout*5.浏览航班信息*endl; cout*6.退 出

14、系 统*endl; cout*7.刷 新*endl; cout*endl; cout endl; int i; couti; switch(i) case 1: luru(); break; case 2: chaxun(); break; case 3: dingpiao(); menu(); case 4:tuipiao(); break; case 5:visit(); break; case 6:tuichu(); exit(1); /case 7:fresh(); / break; default :cout输入的选项不合法,请重新输入endl; system (cls); /清屏

15、/menu(); void chaxun() system(cls); cout请选择查询方式endl; cout1.按航班号查询endl; cout2.按城市查询t; switch(t) case 1:chaxun1(); break; case 2:chaxun2(); break; default :cout输入的数据有误,请重新输入!endl; menu(); break; void chaxun1() /按航班号查询 int n; cout请输入要查询的航班号:n; for(int j=0;j=len;j+) if(flj.a1=n) cout*该次航班信息为*endl; cout航

16、 班 号:flj.a1endl; cout起飞时间:flj.a2endl; cout降落时间:flj.a3endl; cout起飞城市:flj.a4endl; cout降落城市:flj.a5endl; cout剩余票量:flj.a6endl; menu(); return; cout没有对应的航班!endl; menu(); return;void chaxun2() /按城市查询(起飞城市和降落城市) string m1; string m2; int j=0; coutm1; coutm2; end:if(jlen) if(flj.a4=m1 & flj.a5=m2) cout*该次航班信

17、息为*endl; cout航 班 号:flj.a1endl; cout起飞时间:flj.a2endl; cout降落时间:flj.a3endl; cout起飞城市:flj.a4endl; cout降落城市:flj.a5endl; cout剩余票量:flj.a6endl; cout*查找成功*endl; else j+; if(jlen) goto end; cout没有对应的航班!endl; menu();void dingpiao() char Name10; int fn; int ydps; /预定的票数 int sign=0; char ID18; coutName; coutfn;

18、coutydps; coutID; for(int i=0;i0 &fli.a6=ydps) /判断票数是否满足条件 cuA.name=Name; 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; cout订票成功!endl; cout

19、 endl; break; else char r; cout该航班余票不足!; coutr; if(r=Y | r=y) queue M; Wamax1.b1=Name; Wamax1.b2=fli.a4; Wamax1.b3=fli.a5; Wamax1.no=ID; Wamax1.num=ydps; M.push(Wamax1); max1+; cout客户,您好!您的信息我们已经记录,请等候通知!endl; break; sign=1; if(sign) break; /if(i=len) /cout航班号有误!endl;bool tuipiao() /退票 system(cls);

20、/清屏 string Name; int fn; int sign=0; coutName; coutfn; for(int i=0;ilen;i+) if(fn=fli.a1) /航班号匹配 for(int j=0;jA;j+) if(cuj.name=Name) cout 退票成功 !endl; fli.a6+=cuj.ps; int s=j; for(s;s=len) cout输入信息有误!退票失败endl; menu(); return true;void tuichu() cout*欢迎下次光临*endl;void main() menu();第四部分:效果展示1、打开界面2、录入界

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1