C--课程设计-民航售票系统.docx
《C--课程设计-民航售票系统.docx》由会员分享,可在线阅读,更多相关《C--课程设计-民航售票系统.docx(36页珍藏版)》请在咨信网上搜索。
1、C+面向对象课程设计民航订票系统 院 系: 计算机科学技术学院 班 级: 网络工程15-2 组 长: 组 员: 指导教师: 2016年06月14日目 录1概述11.1研究背景及意义11.2任务概述12需求分析22.1客户功能22.2管理员功能22.3操作方法23总体设计53.1功能结构图53.2模块分析53.2.1添加航线53.2.2查询航班53.2.3预订订票63.2.4退机票63.3数据结构设计6(一)、本系统要用到的库函数:6(二)、航空类的定义6(三)菜单类的定义8(四)、接口设计84详细设计94.1 算法设计说明94.2函数实现模块104.2.1 主控函数main()104.2.2客
2、户订票void book() 函数104.2.3客户退票void back() 函数114.2.4客户查询void query() 函数124.2.5管理员航班信息录入模块134.2.6文件写入void writetofile()函数144.2.7控制台的调用system()145程序调试与测试155.1颜色选择155.2利用递归调用实现返回上级菜单或者主菜单155.3倒计时退出界面15I5.4管理员权限限定165.5后台管理界面166总结177程序清单18II1概述本文采用C+作为前台开发工具,VC6.0作为程序代码的实现,旨在实现对现有飞机订票系统中遇到的各种情况进行良好的改进,是作为嵌入
3、式系统应用于机场的良好软件。1.1研究背景及意义随着时代的进步,社会分工的不断细化,各个行业的联系不断密切,人们出行越来越多,出行的方式也是百花齐放。作为空中的重要交通工具,飞机航空系统也在不断得到优化,其中重要的一项就是飞机航空订票系统。因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务,需要我们认真去完成。1.2任务概述假定民航机场有n个航班,每个航班有一个航班号、确定的航线(出发地、目的地)、确定的飞行时间和飞机票总数,旅客数。该系统需实现下列服务:1. 航班信息录入功能;2. 航班信息浏览功能3. 查询航线(出发地、目的地查询)4
4、. 承办订票和退票业务2需求分析2.1客户功能1、航线查询功能:根据输入的起止城市信息查询航班,并显示其详细信息(起飞时间、到达时间、航班号、余票量)。2、客票预订功能:根据输入的航班号和数量预订机票,办理手续并进行信息核对。2.2管理员功能1、 添加功能:添加一个航班的信息,包括航班号、行程、起飞时间、到达时间、机型、全价、座位总数。2、将航班信息写入文件。2.3操作方法民航订票系统的主界面如下所示: * 中国民航欢迎您!* * 1、客户 * 2、管理员 * 3、退出程序运行 * (1) 、选择1进入普通用户菜单:* 您好,欢迎使用本系统办理订票业务* * 1、承办订票业务 * 2、承办退票
5、业务 * 3、查询航班 * * 4、退出程序的运行 *选择1进入订票模块:请输入您要订购的航班号n23dt请输入您要订购的机票数量2订票成功!选2进入退票模块:请输入日期: 航班:退票成功!选择3进入航班查询信息模块:请输入起始地点 北京请输入目的地点 南京出发地点目的地点起飞时间航班号 余票北京 南京 05:43 Bn23dt 100查找已完成按任意键返回菜单(2)、选择2进入管理员菜单:* 后台管理系统* * 1、录入航班信息 * 2、将数据写入文件 * 3、退出程序的运行 *请输入对应操作序号进行相应操作:选择1录入航班信息请输入您要添加的航班种数:请输入您要添加的航班信息:出发地点:南
6、京目的地点:北京起飞时间:时:5分:43航班号:Bn23dt星期几:四您输入的信息是:种数 出发地点目的地点起飞时间航班号 星期几 余票3 南京 北京 05:43 Bn23dt 四 100选择2将信息写入文件.选择3退出菜单.3总体设计3.1功能结构图根据需求分析,该系统的功能结构图如下所示:民航订票系统管理员模块客户模块将信息写入文件退机票预定客票查询航班添加航 班按航线查询图3-1系统结构示意图3.2模块分析3.2.1添加航线系统将提示用户输入新添加的航班的信息,插入在链表中。3.2.2查询航班首先由用户输入要查找的起始地点,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的航班
7、资料。3.2.3预订订票由用户输入航班号和订票数目,系统判断能满足用户需求则输出“订票成功”信息3.2.4退机票首先由用户输入要退的航班,然后调用删除函数,删除该航班的已订状态。3.3数据结构设计(一)、本系统要用到的库函数:#include#include#include #include (二)、航空类的定义 class Plane public: char start_place40;/起点char name40;/终点站名 char number10;/航班号 char week7;/星期几飞行 char day40;/日期 int left;/余票额 int n;/与数组flag一起
8、确定客户订票状态 public: int flag20;/订票状态数组,-1为预订票,1为已定票,0为初始化状态 Plane()/构造函数 name0=0; number0=0; week0=0; day0=0; left=M; n=0;/数组从0开始计数 for(int i=0;i20;i+) flagi=0; void init()/初始化每种飞机票 coutstart_place; coutname; coutnumber; coutweek; coutday; Plane();/析构函数 char *get_start_place()return start_place; /起点cha
9、r *getname() return name; /获得终点站名 char *getnumber() return number; /获得航班号 char *getweek() return week; /获得星期几飞行 char *getday() return day; /获得日期 int getleft() return left; /获得余票额 int getn() return n; /获得旅客数目 void inleft(int n) left=left+n; /余票额增加函数 void deleft(int n) left=left-n; /余票额减少函数 void peopl
10、e_in() n+;/旅客数目增加函数(三)菜单类的定义菜单类父类class menu public : int ch;/返回选择序号 int me_nu() /用于打印菜单,父类的菜单空实现;子菜单类(继承于父类菜单menu)class logo_menu:public menu;/主界面菜单class admin_menu:public menu;/管理员菜单class client_menu:public menu;/客户端菜单(四)、接口设计表2.1:函数列表函数名函数格式函数功能book()Void book()订票函数writetofile ()Void writetofile (
11、)写文件函数query()Void query()查询函数input()Void input()订票函数back()Void back()退票信息Writetofile()Void writetofile()写入文件menu()Int menu()界面函数Main()Int main()主函数4详细设计4.1 算法设计说明文件“航空售票管理系统v-1.0.cpp”中主函数流程图main()开始输出信息 1 2 31管理员客户13 3订票 2 3 42录入信息数据写入文件查询退票结束图4-1主控模块算法流程图4.2函数实现模块4.2.1 主控函数main()调用控制台,设置窗口颜色system(
12、“color 9e” );/控制台调用接着要求用户选择用户类型,按1为普通用户,按2位管理员,3退出,进入相应菜单后,同样选择对应序号,进行相应操作,进入管理员模式要输入密码进行验证。4.2.2客户订票void book() 函数调用此函数实现客户订票预订票数功能。此函数会首先要求用户所要订购的航班号和预订票数 cout请输入航班号:number; coutn; 之后用一个for循环 实现信息匹配,for(int i=0;iN;i+) if(strcmp(number,pli.number)=0)用num不为零标记匹配成功的状态当信息匹配后再判断票数是否足够: if(n0) 票数足够久则订票,
13、cout此航班有足够余票endl; pli.deleft(n);/余票减少 pli.people_in(); /旅客增加pli.flagpli.getn()=1; /状态改为已订票不满足则返回上级菜单,重新确定订票信息,不满足的状态用num为零进行标记;num=0;如果用户确实是要订票但余票不够,则询问用户是否进行预约,确定后将所需票数改为预约状态,用-1标记。cout是否需要预约endl; cout是(1) 否(2)ch;switch(ch)case 1:/确定预约pli.people_in();pli.flagpli.getn()=-1;/预约,用-1标记,表示预约状态break;case
14、 2:/不预约,退出break;default:/容错处理coutwrong input!endl;最后在函数结尾再调用自身实现返回上级菜单功能,book();/di递归调用4.2.3客户退票void back() 函数首先会要求客户输入要退订的票的日期和航班,coutday; coutnumber;然后程序进行信息匹配if(strcmp(day,pli.getday()=0&strcmp(number,pli.getnumber()=0)匹配成功则退票成功,同时系统票数增加pli.inleft(n);/该种飞机票增加,即已退票,接着查询客户的订票状态,/用户是否有预订票,若有,则为用户确定订
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 民航 售票 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。