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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

课程设计报告飞机订票系统.docx

1、课程设计报告飞机订票系统河南城建学院课程设计报告书专 业:计算机科学与技术 课程设计名称:数据结构课程设计题 目:飞机航班订票系统班 级:xxx学号:x姓名:xx同 组 人 员:x指 导 老 师:x完 成 时 间:2012-2-17 摘要随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务,需要我们认真去完成。本文采用C作为前台开发工具,VC6.0作为

2、程序代码的实现,旨在实现对现有飞机订票系统中遇到的各种情况进行良好的改进,是作为嵌入式系统应用于机场的良好软件。关键词:C,VC 6.0,飞机订票系统目录目录 3第一章 开发环境和开发工具 41.1 C语言简介 41.2 开发背景 41.3 开发环境 4第二章 算法思想 52.1 系统需求分析 52.2 系统总体设计 52.2.1 系统设计目标 52.2.2 开发设计思想 52.2.3 系统功能模块设计 62.3 算法思想描述 7第三章 算法实现 .113.1 数据结构 113.2 程序模块 113.3 各模块之间的调用关系 123.4 源程序代码 12第四章 测试与分析 214.1 测试数据

3、选择 21 4.2 测试结果分析 22总 结 22心得体会 22参考文献 23第一章 开发环境和开发工具1.1 C/C+语言介绍1.2 开发背景随着科学技术的不断发展,计算机科学日渐成熟,其强大功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行信息化管理已成为衡量各个国家科学化和现代化的重要标志,而交通方式的全面自动化、信息化则是其中重要的组成部分,在很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的航空订票系统具有一定的使用价值和现实意义。1.3 开发环境 本文所采用的开发环境主要是基于VC6.0和基于面向对象程序设计的c+。VC是个平台开工

4、具。该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。第二章 算法思想2.1 系统需求分析随着经济全球化的推进以及企业激烈的竞争,各大机场订票系统已经越来越不能适应人们日常出行的局面,所以我们现在需要一个检索迅速、查找方便、易修改功能齐全方便的系统来适应我们的需求。问题的提出:为了减少人工工作量,提高工作效率,使机场管理员的工作更加有效的进行。2.2系统总体设计2.21 系统设计目标本文研究开发的航空订票系统用于完成航空订票工作,有以下三

5、个方面的目标:【1】 支持航空管理公司更加便捷的管理【2】 支持航空公司高效率的满足人们空行需求,包括与班机有关的订票,退票,查询等功能。【3】支持航空公司随时增加或者是删除航班信息 2.22 开发设计思想基于以上系统设计目标,本文在开发人事管理信息系统时遵循了以下开发设计思想:采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。尽量达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除

6、、修改、等操作。2.23 系统功能模块设计本系统分为六个模块:增加航班模块、浏览航班模块、查找航班模块、航班排序模块、订票模块、退票模块。得到如图所示系统功能模块图。图2-1 系统功能模块图2.3 算法思想描述【1】系统启动时通过输入航班信息来增加乘客的选择范围【2】当选择功能1时,进入增加航班模块【3】当选择功能2时,进入浏览航班信息模块【4】当选择功能3时,进入查找航班信息模块【5】当选择功能4时,进入航班排序模块,有两种选择一是从航班号从大到小,二是从航班号从小到大【6】当需要订票时,可以选择功能5进入订票模块,【7】当有的乘客需要退票时也可以进入退票模块第三章 算法实现3.1 数据结构

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

8、文件void paixu1(); /按航班号从小到大排序void paixu2(); /从大到小3.3 各模块之间的调用关系程序从主函数开始,首先调用chushihua函数用来判断系统本身是否已经有原始数据文件,如果已经有原始数据则调用read函数否则调用build函数用来创建数据文件。进入系统开始页面,当进入增加航班信息模块时调用add函数和save函数,进入浏览信息模块后调用print函数来显示已有数据文件,进入查询信息模块调用search函数,dingpiao和tuipiao函数中首先调用search函数,然后在相应的增加或者是减少飞机航票。3.4 程序源代码#include #incl

9、ude #include #define N 9999 /定义最多的航班数#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(); /查找航班

10、信息void dingpiao(); /订票业务void tuipiao(); /退票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(=

11、); printf(1.增加航班信息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(); break; case 2:print(); break; case 3:search(); break; case 4:paixu(); break; case 5:dingpiao();

12、 break; case 6:tuipiao(); break; case 0: save(); printf(谢谢使用,再见! ); break; default:printf(您输入不合法,请按回车键继续); getchar(); while(j!=0); /判断是否调用其他函数 void chushihua() /定义系统初始化函数 if(access(hangban.dat,0) build(); else read(); void build() /定义建立数据文件函数 FILE *fp; /定义文件指针 if(fp=fopen(hangban.dat,wb)=NULL) /打开文件

13、并判定是否出错 printf(创建文件失败! ); getchar(); return; printf(请依次输入航班信息(以回车键结束):n); printf(- n); for(i=0;iN;i+) printf(请输入航班号: ); scanf(%d,&si.num); printf(请输入起始站: ); scanf(%s,si.start); printf(请输入终点站: ); scanf(%s,si.over); printf(请输入时间(星期几): ); scanf(%s,si.time); printf(请输入机票数: ); scanf(%d,&si.count); fwrite

14、(&si,sizeof(struct 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(!feof(fp) fread(&si,sizeof(struct air),1,fp

15、); /逐块读取数据 i+; m+; /计算存在航班数 m-; fclose(fp);void save() /定义保存函数 FILE *fp; if(fp=fopen(hangban.dat,wb)=NULL) printf(创建文件失败! ); getchar(); return; for(i=0;im;i+) /逐块保存数据 fwrite(&si,sizeof(struct air),1,fp); fclose(fp);void add() /定义增加航班信息函数 do printf(请依次输入您要增加的航班信息(以回车键结束): n); /打印提示信息 printf(- n); pri

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

17、号tt起始站tt终点站tt时间tt机票数n); for(i=0;im;i+) printf(PRINT);/打印出信息 void print() /定义显示航班信息函数 printf(n目前我们有如下航班:n); output(); /调用输出格式函数 printf(n请按回车键返回上层菜单 ); getchar(); getchar(); void search() /定义查询函数 int n; do printf(n请输入航班号: ); scanf(%d,&n); /输入查询的航班号 for(i=0;im;i+) if(si.num=n) /按航班号判定输出条件 printf(n您所查找的

18、航班信息为: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 dingpiao() /定义订票业务函数 int n; char a10=y; do search(); /调用查询模块 if(!strcmp(ii,n

19、) printf(对不起!没有找到您所需要的航班,所以不能订票。n); printf(n请按回车键返回上层菜单 ); getchar(); getchar(); strcpy(ii,n); break; do printf(请输入您要订的机票数(以回车键结束): ); scanf(%d,&n); if(n=n) /判定机票数是否大于等于订票数 si.count=si.count-n; printf(订票成功! ); break; else if(si.countn)/判定机票数是否小于订票数 printf(对不起,你所选择的航班只剩 %d张机票n, si.count); printf(是否需要

20、重新输入机票数?请输入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; do search(); /调用查询函数 if(!strcmp(ii,n) printf(对不起!没有找到您所需要的航班,所以不能退票。n); printf(n请按回车键返回上层菜单 ); getchar(); getch

21、ar(); strcpy(ii,n); break; printf(请输入您要退的机票数目: ); scanf(%d,&n); if(n=0) /判定票数是否有效 printf(输入错误!至少需退1张机票。 ); else si.count=si.count+n; printf(退票成功! ); printf(是否继续? 请键入y或n以回车键结束: ); /判定是否继续退票 scanf(%s,a); while(!strcmp(a,y); /判定并跳出循环 void paixu() /定义排序函数 int n; printf(n* ); printf(1.按航班号从小到大排序n t2.按航班号

22、从大到小排序n); printf(* ); printf(请在1-2中选择以回车键结束: ); scanf(%d,&n); switch(n) case 1:paixu1();/调用从小到大排序函数 break; case 2:paixu2();/调用从大到小排序函数 break; printf(排序后的航班信息为:n); output(); /显示排序后航班信息 printf(n请按回车键返回上层菜单 ); getchar(); getchar();void paixu1() /定义从小到大排序函数 int k,j; struct air t; for(i=0;im;i+) /选择法排序 k

23、=i; for(j=i+1;jsj.num) k=j; if(i!=k) t=sk; sk=si; si=t; void paixu2() /定义从大到小排序函数 int k,j; struct air t; for(i=0;im;i+) k=i; for(j=i+1;jm;j+) if(sk.numsj.num) k=j; if(i!=k) t=sk; sk=si; si=t; 第四章 测试与分析4.1测试数据选择 表4-14.2测试结果分析在输入测试数据后选择订票业务并再次输入相应的数据会完成订票业务。在订票业务中调用dingpiao函数,所有函数的时间复杂度为O(n),系统本身采用线性结

24、构模型。总 结在今后的工作、学习中我将认真总结经验教训,努力使自己成为一名技术过硬、工作严谨、思维活跃的工程人员,为提高人们的生活质量做出更大的贡献该系统主要完成以下功能功能:此系统功能分为管理员模块和前台票务员模块;管理员模块主要负责航班信息管理,包括增加新航班、修改原有航班、删除航班的功能;前台票务员模块包括乘客信息管理、订票管理、航班查询的工能。 性能:能够高效而且快速的管理航班信息及订票功能,航班查询可在较短时间内完成,数据能够实时反映到终端,以确保信息查询的准确性,方便乘客订票,减少系统错误。 心得体会 在这次程序编制的过程中出现了很多问题,主要原因是自己以前接触的关于编制程序的知识的缺乏,通过飞机航班订票系统的开发让我知道了自己的不足和缺点,写出一个好的程序需要合作精神,一个人的力量毕竟是有限的团队力量才是无穷的。一个好的程序员一定是从程序堆里走出来的,只有通过参与具体程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2