数据结构课程设计源代码

上传人:daj****de2 文档编号:175675796 上传时间:2022-12-20 格式:DOCX 页数:17 大小:210.65KB
收藏 版权申诉 举报 下载
数据结构课程设计源代码_第1页
第1页 / 共17页
数据结构课程设计源代码_第2页
第2页 / 共17页
数据结构课程设计源代码_第3页
第3页 / 共17页
资源描述:

《数据结构课程设计源代码》由会员分享,可在线阅读,更多相关《数据结构课程设计源代码(17页珍藏版)》请在装配图网上搜索。

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

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

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

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

5、:通过格式化输出,将已定客户Customer结构体数组中 的信息利用一个循环输出。显示等候客户名单:通过格式化输出,将等候客户Wait结构体数组中的信 息利用一个循环进行输出。显示所有航班信息:铜锁格式化输出,将所有航班信息flight结构体数组 中的信息利用一个循环进行输出。6:安全退出:通过exit函数进行退出程序。第三部分:实现1、头文件部分#include stdafx.h #include #include #include #include #include #include #include #include2、函数体部分const int MAX_POSSIBILITY = 1

6、00;using namespace std;static st ring tit le6 = 航班号,起飞时间,降落时间,起飞城市, 降落城市, 余票量;static int wid6=8,10,10,10,10,8;static st ring tit lel9 = 客户姓名,座位号,航班号,证件号,订票 数,降落时间,起飞时间,起飞城市,降落城市;static int wid19=8,9,8,8,8,11,11,11,11;static st ring tit le25 = 客户姓名,起飞城市,降落城市,客户 ID,预订票数;static int wid25=8,10,10,10,10;

7、extern int len=0;extern int A=0;extern int max1=0;struct flight /航班号 int a1;/航班号string a2;/起飞时间string a3;/降落时间string a4;/起飞城市string a5;/降落城市int a6;/余票fl50;struct customerstring name;/客户信息/客户姓名int seat;/座位号int num;/航班号string no;/证件号int ps;/订票数string jls;/降落时间string qfs;/起飞时间string qfd;/起飞城市string jld

8、;/降落城市cu100;struct waitstring b1;/客户姓名string b2;/起飞城市string b3;/降落城市st ring no; /客户 IDint num;/订票数Wa50;void luru();/声明录入航班信息函数void chaxun();/声明查询函数void dingpiao();/声明订票函数bool tuipiao();/声明退票函数void tuichu();/声明退出函数void menu();/声明主菜单函数void chaxun1();/声明按航班号查询void chaxun2();/声明按城市查询void visit();/声明预览菜单

9、void visit1(); void visit2(); void visit3();void fresh();void luru()cou t *请输入航班信息* endl; cou tfllen.a1;coutfllen.a2;coutfllen.a3;cou t fllen.a4;cou t fllen.a5;cou tfllen.a6;len+;cou t 请选择所要进行的操作endl; menu(); void visit()cou t 1:显示已定航班信息endl; cou t 2:显示等候客户信息endl; cou t 3:显示所有航班信息endl; couts; switch

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

11、j.seat; coutsetw(wid12)cuj.num; coutsetw(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+)coutset

12、w(wid20)Waj.b1;coutsetw(wid21)Waj.b2;coutsetw(wid22)Waj.b3;coutsetw(wid23)Waj.no; coutsetw(wid24)Waj.num; coutendl;menu();void visit3()cou t *所有航班信息* 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(wi

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

14、endl; cout*6.退出 系统*endl; cout*7.刷新*endl;cout*endl; cout endl;int i;cou ti; 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;defaul t :cou t输入的选项不合法,请重新输入endl; system (cls); /

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

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

17、cout航 班 号:flj.alendl;cout起飞时间:flj.a2endl;cout降落时间:flj.a3endl;cou t 起飞城市:flj.a4endl;cou t 降落城市:flj.a5endl;cou t 剩余票量:flj.a6endl; cou t *查找成功* endl;elsej+; if(jlen) goto end;cou t没有对应的航班!Name;cout请输入航 班 号:;cinfn;cou请输入预定票数:;cinydps;cou请输入身份证号:;cinID;for(int i=0;i0 &fli.a6=ydps) /判断票数是否满足条件 cuA.name=Na

18、me; 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.sea t二 rand() % MAX_POSSIBILITY;/产生一个随机数 A+;fli.a6=fli.a6-ydps;sign=1;cou 订票成功!endl;cout endl;break;elsechar r;cou t该航班余票不足!;coutr;if(r=Y | r=y)queue M;Wamax1.b1

19、=Name;Wamax1.b2=fli.a4;Wamax1.b3=fli.a5; Wamax1.no=ID;Wamax1.num=ydps;M.push(Wamax1);max1+;cou t客户,您好!您的信息我们已经记录,请等候通 知!endl;break;sign=1;if(sign) break;/if(i=len)/cou t航班号有误!endl;bool tuipiao() /退票system(cls); /清屏string Name;int fn;int sign=0;coutName;cou t fn;for(int i=0;ilen;i+)if(fn=fli.a1) /航班号

20、匹配for(int j=0;jA;j+)if(cuj.name=Name)cout退票成功!endl;fli.a6+=cuj.ps;int s=j;for(s;s=len)cou t 输入信息有误!退票失败endl; menu();return true;void tuichu()cou t*欢迎下次光临* ,.-e iLt 1 ju .-|请选择查询方式 I 一按航班号查询 工按城市查询扁输入要查询的起始城市荆州 请输入要查诃的降落城市皆市 辭宕顋帝顋顋帝顋牢该次航班伫息为余帝顋顋帝顋顋帝顋顋 航班号:8857 起飞时间:32 降落时间:16; 50 起飞城市;荆州 降落城市;沙市剩余票量:

21、脇 辭寒顋韜查找成功SSSSSi*帝老顋帝憨洛寒牢欢迎来到航空订票系统顋*寒顋*顋顋帝*-7 ._ _-_- _ _- _- _ _- _- _ _- _- -_ _- _- -辭冷顋壽寒顋总寒顋1 录入航班伫息顋帝*顋壽寒顋总寒顋 半:5:订票界面LI / SIIII:京_ J- -!- -;- -E- -I- - J- -4- -5-曲” Er _. J- -J- -B -E- -J- - J- -4- -B予手予予手予予手予乎 gii3 |k千祚萨裁祚萨裁祚萨州mKm mKm -Jm片 mKm mKm -Jm -A|予不予予不予予不予予ggiI 7 右予那予苓那予苓那予码余字余余字余余字

22、余余首券|田住自阻4豆乙卡命命卡* 余字余余字余余字余余首券|田住哥香 T余字余余字余余字余T 水伞余水学余水学余水学余水学余水学余水学余水伞余水学余水学余水学学制frfr喜覚罟舛般霖W M畔単単岁菲00:9l鱸Jll-:6T屈屣OS:9T里斡丸涉同刈裁剖DE :Sl00 :刃6 :刃那和99881S88 普理乌*老寸*寸寸*寸寸*首哥企羽 旦射 寸寸*卡老 碁蛊里 冒到琏乌旦鸟史普飞 冒到埜刮起土普肓 冒到琏乌芒戸土普:T回曲班醐卑虽翦探-97:预览已定客户信息界面请选择操作:5L :显示匕定航班仁息2:显示等候客户信息3:显示所有航班仁息请选择.L辛丰丰丰丰丰丰丰丰丰匕玄;客户仁 息*丰丰

23、丰丰丰丰丰丰丰丰 客户姓名座位号航班号证件号高晓波7588571112邹佳伦4:38S661100订票数13降落时叵起飞时何16: 504412: 3212: 00寺寺寺寺寺寺寺寺寺1,录入航班彳芫,息.寺寺寺寺寺寺寺寺寺寺 * 查询航班伶 息种*种*种* 寺寺寺寺寺寺寺寺*3.订票寺寺寺寺寺寺寺寺寺寺*半半芈半半芈半*4:4 j良半半芈半半芈半半芈半】Ill第五部分:心得体会本次航空订票系统的课程设计,共完成了 5 个功能,即对航班的录入、查 询航班、订票、退票、以及对所有航班信息的预览、已定客户和等候客户信息 的预览。共采用三个结构体,即保存所有航班信息的flight结构体、保存已定 客户信息的 Customer 结构体、保存等候客户信息的 Wait 结构体。本次设计全部采用的是数组顺序表,所以在操作起来比较方便,但是对于 庞大的数据,操作起来就比较麻烦,这是本次设计的一个缺陷。同时,由于自 己数据结构链表学习的不够扎实,所以对于链表的知识没有得到应用。总之,学习是一个厚积薄发的过程,平时在学的过程中掌握的多,理解 多,见的多,练习的多,真正到自己做的时候就不会那么棘手。所以在以后 学习过程中应该注重实践,而不是只关注课本上的零碎的知识点。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!