C++课程设计报告:飞机订票系统_第1页
C++课程设计报告:飞机订票系统_第2页
C++课程设计报告:飞机订票系统_第3页
C++课程设计报告:飞机订票系统_第4页
C++课程设计报告:飞机订票系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课 程 设 计 课程名称面向对象程序设计题目名称飞机订票系统专业班级2012级网络工程2班学生姓名学 号指导教师二一四年十二月三十日任务书课 程面向对象程序设计班级2012网络工程2班指导教师郭有强题 目飞机订票系统完成时间2014年12月1日至2014年12月28日主要内容要求完成以下功能:1航班信息录入功能(航班信息用文件保存)输入2航班信息浏览功能输出3查询航线:(两种查询方式:按航班号查询,按终点站查询)算法4承办订票和退票业务设计报告要求1封面:(格式附后)2课程设计任务书3课程设计报告: 系统总体方案 设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料说明:学生

2、完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(也可用以打印),文字不少于5000 字,并装订成册。版面要求1 题目用黑体三号,段后距18磅(或1行),居中对齐;2 标题用黑体四号,段前、段后距6磅(或0.3行);3 正文用小四号宋体,行距为1.25倍行距;4 标题按“一”、“”、“1”、“”顺序编号。上机时间安排星期周次一二三四五第14周-第17周12网络工程2,5-6节12网络工程2,3-4节指导时间地点上机时间,计算机基础实验室(B108) 分工协作说明课题名称学生姓名学号所做的工作学生成绩管理系统总体分工,程序结构整体设计 程序调试及整体修改完善蚌埠学院计算机科学与技术

3、系本科课程设计成绩评定表项目权重分值具体要求得分文献阅读与调查论证0.20100能独立查阅文献和从事其它调研活动;有收集、加工各种信息的能力20设计质量0.30100设计合理、功能齐备,程序运行正常,实验数据准确可靠;有较强的实际动手能力30论文撰写质量0.20100设计说明书完全符合规范化要求,用A4复印纸打印成文18学习态度0.20100学习态度认真,科学作风严谨,严格按要求开展各项工作,按期完成任务18学术水平与创新0.10100设计有创意,有一定的学术水平或实用价值7总分评语:在设计工作中,该组同学态度端正,工作努力,能够独立完成设计。论文合乎规范,文理通顺,图表正确,软件基本适应实际

4、需要。程序代码书写较规范、清晰度较好。设计说明书排版基本符合规定。等级: 指导教师: 2014年 12月 30 日目录摘要1一 开发环境和开发工具21.1开发背景21.2开发环境2二算法思想22.1 系统需求分析22.2系统总体设计22.21 系统设计目标22.22开发设计思想32.23 系统功能模块设计3三 测试与分析33.1测试数据选择33.2测试结果4四算法实现84.1 数据结构84.2程序模块84.3各模块之间的调用关系9五总结10六心得体会11程序源代码1326摘要随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工

5、具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务,需要我们认真去完成。本文采用C作为前台开发工具,VC6.0作为程序代码的实现,旨在实现对现有飞机订票系统中遇到的各种情况进行良好的改进,是作为嵌入式系统应用于机场的良好软件。关键词:C+,VC+ 6.0,飞机订票系统一 开发环境和开发工具 1.1开发背景随着科学技术的不断发展,计算机科学日渐成熟,其强大功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行信息化管理已成为衡量各个国

6、家科学化和现代化的重要标志,而交通方式的全面自动化、信息化则是其中重要的组成部分,在很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的航空订票系统具有一定的使用价值和现实意义。1.2开发环境 本文所采用的开发环境主要是基于VC6.0和基于面向对象程序设计的c+。VC是个平台开工具。该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。二算法思想2.1 系统需求分析随着经济全球化的推进以及企业激烈的竞争,各大机场订票系统已经越来越不能

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

8、方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。尽量达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、等操作。2.23 系统功能模块设计本系统分为六个模块:增加航班模块、浏览航班模块、查找航班模块、航班排序模块、订票模块、退票模块。得到如图所示系统功能模块图。飞机航班订票系统增加航班信息浏览航班信息航班排序模块退票系统增加机票保存查找函数排序函数查找函数减少机票数目查找函数增加机票数目查找航班信息订票系统输出函

9、数图2-1 系统功能模块三 测试与分析3.1测试数据选择3.2测试结果在输入测试数据后选择订票业务并再次输入相应的数据会完成订票业务。在订票业务中调用dingpiao函数,所有函数的时间复杂度为O(n),系统本身采用线性结构模型。图(1)系统启动时通过输入航班信息来增加乘客的选择范围图(2)选择功能1时,进入增加航班模块图(3)当选择功能2时,进入浏览航班信息模块图(4)当选择功能3时,进入查找航班信息模块图(5)当选择功能4时,进入航班排序模块,有两种选择一是从航班号从大到小,二是从航班号从小到大图(6)当需要订票时,可以选择功能5进入订票模块图(7)当有的乘客需要退票时也可以进入退票模块四

10、算法实现4.1 数据结构航空管理系统是一个数据库应用系统,航班的所有信息都保存在数据库中。4.2程序模块 为实现函数功能特定义一下函数模型,具体程序参考程序源代码模块void add();/函数声明增加航班信息函数void print(); /显示航班信息void search();/查找航班信息void dingpiao();/订票业务void tuipiao();/退票void read();/读取文件void save();/保存文件void output();/输出格式void paixu();/航班排序void chushihua();/系统初始化void build();/建立数据

11、文件void paixu1();/按航班号从小到大排序void paixu2();/从大到小4.3各模块之间的调用关系程序从主函数开始,首先调用chushihua函数用来判断系统本身是否已经有原始数据文件,如果已经有原始数据则调用read函数否则调用build函数用来创建数据文件。进入系统开始页面,当进入增加航班信息模块时调用add函数和save函数,进入浏览信息模块后调用print函数来显示已有数据文件,进入查询信息模块调用search函数,dingpiao和tuipiao函数中首先调用search函数,然后在相应的增加或者是减少飞机航票。 五总结在今后的工作、学习中我将认真总结经验教训,努

12、力使自己成为一名技术过硬、工作严谨、思维活跃的工程人员,为提高人们的生活质量做出更大的贡献该系统主要完成以下功能功能:此系统功能分为管理员模块和前台票务员模块;管理员模块主要负责航班信息管理,包括增加新航班、修改原有航班、删除航班的功能;前台票务员模块包括乘客信息管理、订票管理、航班查询的工能。 性能:能够高效而且快速的管理航班信息及订票功能,航班查询可在较短时间内完成,数据能够实时反映到终端,以确保信息查询的准确性,方便乘客订票,减少系统错误。 六心得体会 在这次程序编制的过程中出现了很多问题,主要原因是自己以前接触的关于编制程序的知识的缺乏,通过飞机航班订票系统的开发让我知道了自己的不足和

13、缺点,写出一个好的程序需要合作精神,一个人的力量毕竟是有限的团队力量才是无穷的。一个好的程序员一定是从程序堆里走出来的,只有通过参与具体程序的开发才知道自己知识的有限,才会学会具体的分析问题,是自己的逻辑性和层次性得到良好的锻炼, 课程设计是一门专业课,给我很多专业知识以及专业技能上了提升,同时又是一门思辨课,让我感触很深,是我对抽象的理论有了具体的认识,在这次课程设计中知道了以前没有接触过的很多函数,C语言中的文件部分因为种种原因都没有得到及时的学习,以前很多东西都没有学好,就像老师以前说的:“一天敲一个小时的键盘程序就能学好了。”现在开始相信了,在以后的学习中自己要加强程序的锻炼,多参考好

14、的程序和各种各样的函数,建立起自己的函数库,为以后学习打下良好的基础。 参考文献1严蔚敏、吴为民.数据结构(C语言版).北京:清华大学出版社.20072周二强.新编C程序设计.北京:清华大学出版社.20113钱能.C+程序设计教程.北京.清华大学出版社.19994邓文华.数据结构实验和实训教程.北京.清华大学出版社.20115 高寒弢. 最短路径算法在交通咨询系统中的应用.成都.计算机与信息技术.2011程序源代码#include<stdio.h>#include<string.h>#include<process.h>#define N 9999/定义最多

15、的航班数#define PRINT "%dtt%stt%stt星期%stt%dn ",si.num,si.start,si.over,si.time,si.count /宏定义输出格式struct air /定义结构体数组int num;char start20;char over20;char time10;int count;sN;int i,m=0;/定义全局变量char ii10;void add();/函数声明增加航班信息函数void print(); /显示航班信息void search();/查找航班信息void dingpiao();/订票业务void tu

16、ipiao();/退票void read();/读取文件void save();/保存文件void output();/输出格式void paixu();/航班排序void chushihua();/系统初始化void build();/建立数据文件void paixu1();/按航班号从小到大排序void paixu2();/从大到小void main()/主函数int j; chushihua();/系统初始化判断是否存在原始数据文件printf(" 欢迎使用飞机订票系统n");do printf("= "); printf("1.增加航班

17、信息n" "t2.浏览航班信息n" "tt3.查找航班信息(按航班号)tt(_)n" "ttt4.航班排序(按航班号)n" "tttt5.订票业务n" "to()ottt6.退票业务n" "tttttt0.退出n");printf("= "); printf("请在0-6中选择以回车键结束: ");scanf("%d",&j);fflush(stdin);switch(j)case 1: add()

18、;break;case 2:print();break;case 3:search();break;case 4:paixu();break;case 5:dingpiao();break;case 6:tuipiao();break; case 0:save();printf("谢谢使用,再见! ");break;default:printf("您输入不合法,请按回车键继续");getchar(); while(j!=0);/判断是否调用其他函数 void chushihua()/定义系统初始化函数if(access("hangban.dat

19、",0)build();elseread();void build()/定义建立数据文件函数FILE *fp;/定义文件指针if(fp=fopen("hangban.dat","wb")=NULL)/打开文件并判定是否出错 printf("创建文件失败! ");getchar();return;printf("请依次输入航班信息(以回车键结束):n"); printf("- n");for(i=0;i<N;i+)printf("请输入航班号: "); scan

20、f("%d",&si.num);printf("请输入起始站: ");scanf("%s",si.start);printf("请输入终点站: ");scanf("%s",si.over);printf("请输入时间(星期几): ");scanf("%s",si.time);printf("请输入机票数: ");scanf("%d",&si.count);fwrite(&si,sizeof(s

21、truct air),1,fp);m+;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);if(strcmp(ii,"y")!=0)/判断是否继续添加航班信息fclose(fp);/关闭文件return;void read()/定义读取文件函数FILE *fp;if(fp=fopen("hangban.dat","r")=NULL)printf("创建文件失败! ");getchar();return;i=0;while(!

22、feof(fp)fread(&si,sizeof(struct air),1,fp);/逐块读取数据i+;m+;/计算存在航班数m-;fclose(fp);void save()/定义保存函数FILE *fp;if(fp=fopen("hangban.dat","wb")=NULL) printf("创建文件失败! ");getchar();return;for(i=0;i<m;i+)/逐块保存数据fwrite(&si,sizeof(struct air),1,fp);fclose(fp);void add()/

23、定义增加航班信息函数doprintf("请依次输入您要增加的航班信息(以回车键结束): n"); /打印提示信息printf("- n");printf("请输入航班号: "); scanf("%d",&sm.num);printf("请输入起始站: ");scanf("%s",sm.start);printf("请输入终点站: ");scanf("%s",sm.over);printf("请输入时间: ")

24、;scanf("%s",sm.time);printf("请输入机票数: ");scanf("%d",&sm.count);m+;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);while(!strcmp(ii,"y");/判断是否继续添加void output()/定义输出格式函数printf("航班号tt起始站tt终点站tt时间tt机票数n"); for(i=0;i<m;i+)prin

25、tf(PRINT);/打印出信息void print()/定义显示航班信息函数printf("n目前我们有如下航班:n");output();/调用输出格式函数printf("n请按回车键返回上层菜单 ");getchar();getchar(); void search()/定义查询函数int n;doprintf("n请输入航班号: ");scanf("%d",&n);/输入查询的航班号for(i=0;i<m;i+) if(si.num=n)/按航班号判定输出条件 printf("n您所

26、查找的航班信息为:n ");printf("航班号tt起始站tt终点站tt时间tt机票数 nn");printf(PRINT);/显示信息 printf("n查询完毕,按回车键继续");getchar();getchar();return;printf("n对不起,没有您需要的信息!n ");printf("是否重新查找?请键入y或n以回车键结束 ");scanf("%s",ii);while(!strcmp(ii,"y");/判定是否重新查找 void dingp

27、iao()/定义订票业务函数int n;char a10="y"dosearch();/调用查询模块if(!strcmp(ii,"n")printf("对不起!没有找到您所需要的航班,所以不能订票。n");printf("n请按回车键返回上层菜单 ");getchar();getchar();strcpy(ii,"n");break;doprintf("请输入您要订的机票数(以回车键结束): ");scanf("%d",&n);if(n<=0

28、)/判定机票数是否出错printf("输入错误!至少需订1张机票。n");else if(si.count=0)/判定机票是否售完printf("对不起,你所选择的航班的机票已售完!n");break;else if(si.count!=0&&si.count>=n)/判定机票数是否大于等于订票数si.count=si.count-n;printf("订票成功! ");break;else if(si.count<n)/判定机票数是否小于订票数 printf("对不起,你所选择的航班只剩 %d张机

29、票n", si.count);printf("是否需要重新输入机票数?请输入y或n以回车键结束: ");/判定是否重新输入订票数scanf("%s",a);while(!strcmp(a,"y");printf("是否需要订其他航班的机票?请输入y或n以回车键结束: ");scanf("%s",a);while(!strcmp(a,"y");/判定是否继续订票void tuipiao()/定义退票函数int n;char a10;dosearch();/调用查询函数if(!strcmp(ii,"n")printf("对不起!没有找到您所需要的航班,所以不能退票。n");printf("n请按回车键返回上层菜单 ");getchar();getch

温馨提示

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

评论

0/150

提交评论