课程设计报告书所属课程名称C++语言及程序设计题目航空订票系统的菜单设计院(系)班级学号学生姓名指导教师辅导教师2011年7月1日第1页课程设计(论文)任务书电气学院电气专业班一、课程设计(论文)题目:航空订票系统的菜单设计二、课程设计(论文)工作自2011年6月27日起至2010年7月1日止三、课程设计(论文)地点:8-706四、课程设计(论文)内容要求:1.本课程设计的目的(1)进一步巩固和加深对“C++程序设计”课程基本知识的理解和掌握,了解C++语言在项目开发中的应用。(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。2.课程设计的任务及要求1)基本要求:(1)对系统功能进行需求分析;(2)使用VisualC++编译器进行程序编译;(3)提出系统的设计方案;(4)编写源程序代码并进行调试。2)创新要求在基本要求达到后,可进行创新设计。3)课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。报告按如下内容和顺序用A4纸进行打印并装订成册。(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献4)课程设计评分标准:每人按指定题目进行设计,严禁抄袭,要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;第2页(2)能正确回答设计的中老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。5)课程设计进度安排(1)准备阶段(3学时):选择设计题目、了解设计目的要求、查阅相关资料。(2)程序模块设计分析阶段(4学时):程序总体设计、详细设计。(3)代码编写调试阶段(10学时):程序模块代码编写、调试、测试。(4)撰写论文阶段(3学时):总结课程设计任务和设计内容,撰写课程设计论文。6)课程设计题目具体要求:(1)程序运行时,首先给出两个菜单选项的内容和输入提示:管理员进入按1,客户进入按2:(2)若用户选择是管理员身份进入,还需要输入密码,验证正确后,则可进入系统,显示如下6个菜单选项。若密码验证错误,则提示密码错误,并返回主界面让用户重新选择身份。1定购机票2反退机票3查看航班信息4查询航班信息5修改航班信息0返回主界面若用户是以客户身份进入,则进入系统后,将显示上面除5以外的5个菜单选项进入系统后,用户可以根据需要输入选项实现不同功能。若输入其它字符,则显示输入错误,请重新选择。学生签名:________________2011年7月1日第3页课程设计(论文)评阅意见序号项目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5设计中创新性评价6论文书写规范化评价综合评定等级评阅人宋岚职称讲师2011年7月4日第4页目录第一章需求分析.................................5第二章概要设计.................................6第三章详细设计..................................7第四章运行结果及分析..........................12第五章课程设计心得............................15参考文献........................................18第5页第一章需求分析菜单是应用程序非常重要的组成部分,通过菜单,应用程序可以实现不同的功能,通过本系统的设计,可以实现应用程序的菜单。(1)进入系统之前,用户输入1或者2,以不同身份进入系统,如果输入1和2以外的其他字符,则显示输入错误,请重新输入。(2)用户以管理员身份进入,还需要输入密码,验证后正确,则进入系统;错误则提示密码错误,并返回主界面让用户重新选择身份。(3)用户根据需要输入(0-5)或(0-4),若输入其他字符,则显示按键错误,请重新选择。(4)用户选择(0-5)或(0-4)实现不同功能,如果要返回上级菜单界面,则需要按0返回。第6页第二章概要设计(一):系统用到的抽象数据类型定义:实现函数的具体功能:(通过定义函数来实现客户端订票,退票等功能)1、voiddingpiao(){订票函数}2、voidtuipiao(){退票函数}3、voidwatch(){航班信息查看函数}4、voidbrowseticket(){航班信息查询函数}5、voidchange(){修改航班信息函数}6、voidfn1(){输出管理员信息函数}7、voidfn2(){输出客户信息函数}8、voidmain(){主函数}(二):本系统要用到的库函数:#includeiostream.h#includestring.h(三):本系统的循环体是:while(){函数};(四):本系统的流程框图:图2-1本系统的流程框图主函数voidmain管理员登陆函数fn1()定购机票voiddingpiao()修改航班信息voidchange()查询航班voidbrowseticket()查看航班voidwatch()反退机票voidtuipiao()客户登陆函数fn2()定购机票voiddingpiao()查询航班voidbrowseticket()查看航班voidwatch()反退机票voidtuipiao()第7页第三章详细设计/*模块名称:Menu.cpp功能描述:实现菜单功能*/#includeiostream.h//输入输出流的头文件#includestring.h//字符串处理头文件classMenu//类的定义{public://公有成员voidfanhui();voiddingpiao();voidtuipiao();voidwatch();voidbrowseticket();voidchange();voidfn1();voidfn2();private://私有成员intj;};//以上是类的声明部分,以下是类的实现部分voidMenu::fanhui()//实现返回上一级菜单功能{cout无论何时endl;cout我们都会为您提供最优质的服务endl;cout0返回上级菜单endlendl;inti;while(i)//使用while语句实现上级菜单的返回选择{cout请选择按键(0):;cini;if(i!=0)cout0返回上级菜单endlendl;}}第8页voidMenu::dingpiao()//实现定购机票功能{cout欢迎您订购航空公司的飞机票endl;cout非常感谢!endl;cout我们将为您提供最优质的服务endl;cout0返回上级菜单endlendl;inti;while(i)//使用while语句实现上级菜单的返回选择{cout请选择按键(0):;cini;if(i!=0)cout0返回上级菜单endlendl;}}voidMenu::tuipiao()//实现反退机票功能{cout您可以退订航空公司的飞机票!endl;Menuf;f.fanhui();}voidMenu::watch()//实现查看航班信息功能{cout您可以查看航空公司飞机票务信息endl;Menuf;f.fanhui();}voidMenu::browseticket()//实现查询航班信息功能{cout您可以查询航空公司飞机航线信息!endl;Menuf;f.fanhui();}voidMenu::change()//实现修改航班信息功能{cout您可以修改航空公司飞机航线信息endl;Menuf;f.fanhui();}voidMenu::fn1()//fn1实现输出管理员信息函数功能{inti;while(i)//实现循环{第9页coutendl;cout输入航班信息endlendl;cout1订购机票(航班号为0结束输入)endl;cout2返退机票endl;cout3查看航班信息endl;cout4查询航班信息endl;cout5修改航班信息endl;cout0返回主界面endlendl;cout请选择按键(0-5):;//输出显示菜单cini;coutendl;if(i=0&&i=5)//判断i是否在规定范围内{switch(i){case1:{Menuf;f.dingpiao();}break;case2:{Menuf;f.tuipiao();}break;case3:{Menuf;f.watch();}break;case4:{Menuf;f.browseticket();}break;case5:{Menuf;f.change();}break;case0:cout谢谢使用!endl;break;}}elsecout输入错误!请重新输入endl;coutendl;}}voidMenu::fn2()//fn2实现输出客户信息函数功能{inti;while(i)//实现循环{coutendl;cout输入航班信息endl;cout1订购机票(航班号为0结束输入)endl;cout2返退机票endl;cout3查看航班信息endl;cout4查询航班信息endl;第10页cout0返回主界面endl;cout请选择按键(0-4):;//输出显示菜单cini;coutendl;if(i=0&&i=4)//判断i是否在规定范围内{switch(i){case1:{Menuf;f.dingpiao();}break;case2:{Menuf;f.tuipiao();}break;case3:{Menuf;f.watch();}break;case4:{Menuf;f.browseticket();}break;case0:cout谢谢使用!endl;break;}}elsecout输入错误!请重新输入endl;coutendl;}}voidmain()//实现主函数功能{intj;while(1)//实现循环{coutendlendlendl;cout$------------------------------------$endl;cout||endl;cout|**欢迎进入民航管理系统**|endl;cout||endl;cout$------------------------------------$endlendlendl;cout管理员进入请按1,客户进入请按2'\t';//输出显示登录界面cinj;第11页if(j=1&&j=2)//判断输入数字是否在规定范围内{switch(j)//选择登录账户类型{case1://登陆管理员账户{charp[]={1234};charm[5];cout请输入密码并以回车键结束;cinm;if(strcmp(m,p)==0)//验证密码正确与否{Menuf;f.fn1();}//调用管理员账户信息elsecout密码错误!!!重新选择按键endl;};break;case2://登陆客户