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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

航班订票系统.docx

1、航班订票系统课程设计题目 航班订票系统课程设计目的本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。任务:通过此系统可以实现如下功能:1)、录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2)、查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3)、订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可

2、以提供相关可选择航班;4)、退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。5)、修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计。请在最后的上交资料中指明你用到的存储结构;一、 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。二、 进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。系统需求分析随着经济全

3、球化的推进以及企业激烈的竞争,各大机场订票系统已经越来越不能适应人们日常出行的局面,所以我们现在需要一个检索迅速、查找方便、易修改功能齐全方便的系统来适应我们的需求。问题的提出:为了减少人工工作量,提高工作效率,使机场管理员的工作更加有效的进行。系统总体设计 系统设计目标本文研究开发的航空订票系统用于完成航空订票工作,有以下三个方面的目标:【1】 支持航空管理公司更加便捷的管理【2】 支持航空公司高效率的满足人们空行需求,包括与班机有关的订票,退票,查询等功能。【3】支持航空公司随时增加或者是删除航班信息 开发设计思想基于以上系统设计目标,本文在开发人事管理信息系统时遵循了以下开发设计思想:采

4、用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。尽量达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、等操作。 系统功能模块设计本系统分为六个模块:增加航班模块、浏览航班模块、查找航班模块、航班排序模块、订票模块、退票模块。得到如图所示系统功能模块图。 系统功能模块图 算法思想描述主界面程序图系统录入程序图:查询系统程序图:订票系统程序图:退票系统程序图:程序源代码#inc

5、lude#include#include#include class Flight/航班类 char num20;/航班号 char s20; /出发站 char e20; /到达站 char t20;/起飞时间 int fee;/票价 int sum;/总票数 int n;/剩余票数 Flight *next;/下个航班public: Flight() Flight() char *getnu()return num; void setnu(char *n)strcpy(num,n); char *gets()return s; void sets(char *s)strcpy(this-s

6、,s); char *gete()return e; void sete(char *e)strcpy(this-e,e); char *gett()return t; void sett(char *t)strcpy(this-t,t); int getf()return fee; void setf(int f)fee=f; int getsu()return sum; void setsu(int s)sum=s; int getn()return n; void setn(int n)this-n=n; Flight *getnext()return next; void setnex

7、t(Flight*n)next=n;class Client/乘客类 char num20;/航班号 char name20; /乘客姓名 int n;/所购票数 Client *next;public: Client() Client() char *getna()return name; void setna(char *n)strcpy(name,n); char *getnu()return num; void setnu(char *n)strcpy(num,n); int getn()return n; void setn(int n)this-n=n; Client *getne

8、xt()return next; void setnext(Client*n)next=n;class manage/管理类private: Flight *head1;/航班头指针 Flight *last1; Client *head2;/乘客头指针 Client *last2;public: manage() manage() void ini(); void newf(); void buy(); void show1(); void show2(); void modify(); void del(); void delall(); void baClient(); void que

9、ry1(); void query2(); void save(); void run();void manage:ini() head1=last1=NULL; head2=last2=NULL; ifstream rf(Flighte.txt,ios:out|ios:nocreate,filebuf:openprot); if(rf.fail()coutnn提示,文件读取失败!; else int n=0;/得到个数 rf.read(char *)&n,sizeof(n);/得到航班个数 for(int i=0;isetnext(NULL); if(head1=NULL)head1=las

10、t1=p1; else last1-setnext(p1);last1=p1; coutn初始化i条航班信息成功!; rf.read(char *)&n,sizeof(n);/得到乘客个数 for( i=0;isetnext(NULL); if(head2=NULL)head2=last2=p2; else last2-setnext(p2);last2=p2; coutn初始化i条乘客信息成功!; rf.close();void manage:newf() Flight*p; p=new Flight; coutn录入航班信息n; char c50; coutc; p-setnu(c); c

11、outc; p-sets(c); coutc; p-sete(c); coutc; p-sett(c); coutn;p-setf(n); coutn;p-setsu(n); p-setn(n); p-setnext(NULL); if(head1)last1-setnext(p);last1=p; else head1=last1=p; coutn新航班创建成功nn;void manage:buy() if(head1=NULL)cout提示:无航班信息!n;return ; coutnnnn 购买机票n; char c50; coutc; int y=1; Flight *p=head1;

12、 while(p) if(strcmp(p-getnu(),c)=0)y=0;break; p=p-getnext(); if(y)coutgetn()=0)coutn提示,此航班票已经售完!n;return; coutn|-|; coutn 航次: getnu() 起飞时间:gett() 总票数: getsu(); coutn 航线:gets() gete() 票价:getf() 剩余票数: getn(); coutsetnext(NULL); p1-setnu(c); coutn-请进行购票登记 -; coutc; p1-setna(c);loop: coutn; if(np-getn()

13、 coutn提示,您最多只能购买getn()setn(n); p-setn(p-getn()-n); if(head2=NULL)head2=last2=p1; else last2-setnext(p1); last2=p1; coutn-买票成功,您需要付款:getf()*p1-getn()元-;void manage:show1() if(head1=NULL)cout航班信息为空!nn;return; Flight *p=head1; coutsetw(50)航班信息; while(p) coutn 航次: getnu() 起飞时间:gett() 总票数: getsu(); coutn

14、 航线:gets() gete() 票价:getf() 剩余票数: getn(); coutgetnext(); void manage:show2() if(head2=NULL)cout乘客信息为空!nn;return; Client *p=head2; coutsetw(50) 乘客信息; while(p) coutn 姓名 : getna() 航班号:getnu() 所购票数: getn(); coutgetnext(); void manage:modify() coutsetw(50)修改航班; Flight *p=head1; char m20; int y=1; coutm;

15、while(p) if(strcmp(p-getnu(),m)=0) y=0; coutm; p-sets(m); coutm; p-sete(m); coutm;p-sett(m); coutn; p-setf(n);loop: coutn; if(ngetsu()-p-getn()cout=已售机票数!n;goto loop; p-setn( n-(p-getsu()-p-getn() ); p-setsu(n); p=p-getnext(); if(y) coutn错误,无此航班号!; else coutn航班修改成功!;void manage:del() if(head1=NULL)c

16、outnn提示:无航班信息!;return ; coutsetw(50) 删除航班; Flight *temp,*p=head1; char m20; int y=1;loop: coutm; if(strcmp(head1-getnu(),m)=0) if(head1-getsu()!=head1-getn() coutgetnext(); else while(p-getnext() if(strcmp(p-getnext()-getnu(),m)=0) if(p-getnext()-getsu()!=p-getnext()-getn() coutgetnext(); p-setnext(

17、temp-getnext(); break; p=p-getnext(); if(y) coutn错误,无此航班号!; else delete temp; coutnn操作成功!;void manage:delall() coutsetw(50)getnext(); delete p1; p1=temp1; head1=last1=NULL; Client *p2=head2; while(p2) Client * temp2=p2-getnext(); delete p2; p2=temp2; head2=last2=NULL; coutnn信息清空成功!;void manage:query

18、1() char c; char m30; if(head1=NULL)coutnn提示:无航班信息!;return ; do coutsetw(50) 航班查询菜单 n; coutsetw(50) 1, 按起始地查询 n; coutsetw(50) 2, 按目的地查询 n; coutsetw(50)c; switch (c) case 1: int y=1; coutm; while(p) if(strcmp(p-gets(),m)=0) coutn|-|;coutn 航次: getnu() 起飞时间:gett() 总票数: getsu();coutn 航线:gets() gete() 票价

19、:getf() 剩余票数: getn();coutgetnext(); if(y)cout失败,您查询的航班不存在!nn; break; case2: int y=1; coutm; while(p) if(strcmp(p-gete(),m)=0) coutn 航次: getnu() 起飞时间:gett() 总票数: getsu();coutn 航线:gets() gete() 票价:getf() 剩余票数: getn();coutgetnext(); if(y)cout失败,您查询的航班不存在!nn; break; case3:break; while(c!=c&c!=C);void ma

20、nage:query2() if(head1=NULL)coutnn提示:无航班信息!;return ; char c,m20; do coutsetw(50) 乘客查询菜单 n; coutsetw(50) 1, 乘客查询菜单 n; coutsetw(50) 2, 乘客查询菜单 n; coutsetw(50)c; switch (c) case 1: Flight *p1=head1; Client *p2=head2; int y1=1,y2=1; coutm; while(p1) if(strcmp(p1-getnu(),m)=0) y1=0;coutn|-|n; coutn 航次: getnu() 起飞时间:gett() 总票数: getsu();coutn 航线:gets() gete() 剩余票数:getn();coutgetnext(); if(y1) coutn失败,您查询的航班不存在!n; else while(p2) if

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

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