版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、飞机订票系统课程设计报告 指导老师: 班 级: 学生姓名: 学 号: 完成日期: 计算机科学与技术系飞机订票系统课程设计报告一、系统分析。1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。1.2飞机订票系统简易图二、系统设计2.1总体设计(主要功能)本程序包含六大主要模块添加信息模块;浏览信息模块;信
2、息查询模块;信息排序模块;订票模块;退票模块。整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。输入模块,使用分条输入,以减少错误率并方便操作。浏览,查询及排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。订,退票模块调用查询模块实现其功能。2.2 软件、硬件环境软件环境 VC2009硬件环境 处理器 Intel(R) Core(TM) i5-3210M CPU 2.50GHz 2.50GHz;显
3、卡 GTX650。内 存 4.0GB操作系统 Windows 72.3主要数据结构和程序的关系说明主要数据结构是结构体struct hbxx/定义结构体数组,航班信息int hbh;/定义航班号char qd20;/起点站char zd20;/终点站float pj;/票价int sl;/机票数量int dcp;/订票标志量fjN;2.4界面设计本程序开始运行的界面,共7个选项,简洁而大方。接下来是添加信息的界面。采用分条添加,清晰而明朗。浏览信息的界面,将所有航班信息显示在屏幕上。查询航班信息界面,根据用户输入的航班号,显示其航班信息。便于用户使用,查找。航班排序界面,将所有航班根据航班号进
4、行排序,可由用户选择是由大到小,还是由小到大。订票界面,由用户输入需要订票的航班号,在进行订票操作。退票界面。2.5函数模块设计(函数功能说明和入口参数的说明)void xxtj();/信息添加的函数void xianshi();/显示航班信息void chazhao();/查找航班信息void dingpiao();/订票业务void tuipiao();/退票业务void duqu();/读取文件void baocun();/保存文件void scgs();/输出格式函数void paixu();/航班排序void chushihua();/系统初始化void jianli();/建立数据
5、文件void paixu1();/按航班号从小到大排void paixu2();/从大到小三、系统实现主要代码/飞机订票系统/头文件#include/标准输入,输出函数#include/包含字符串处理的头文件#include/包含access的头文件,用于系统初始化#define N 9999/定义最大航班数#define PRINT %dtt%stt%stt%.2ftt%dn,fji.hbh,fji.qd,fji.zd,fji.pj,fji.sl/宏定义输出格式struct hbxx/定义结构体数组,航班信息int hbh;/定义航班号char qd20;/起点站char zd20;/终点站
6、float pj;/票价int sl;/机票数量int dcp;/订票标志量fjN;int i,m=0;/定义全局变量char pd10=y;/函数声明void xxtj();/信息添加的函数芦杰void xianshi();/显示航班信息祁海鹏void chazhao();/查找航班信息祁海鹏void dingpiao();/订票业务李平void tuipiao();/退票业务李平void duqu();/读取文件蔡晓宏void baocun();/保存文件蔡晓宏void scgs();/输出格式函数祁海鹏void paixu();/航班排序李平void chushihua();/系统初始化
7、芦杰void jianli();/建立数据文件芦杰void paixu1();/按航班号从小到大排蔡晓宏void paixu2();/从大到小蔡晓宏/主函数void main()/主函数李平int j;chushihua();/系统初始化判断是否存在原始的数据文件printf(欢迎使用飞机订票系统n);/打印出系统主界面doprintf(=nttt1.添加航班信息。nttt2.浏览航班信息。nttt3.查询航班信息。nttt4.航班信息排序。nttt5.订票业务。nttt6.退票业务。nttt0.退出。n=n);printf(请在0-6中选择以回车键结束:);scanf(%d,&j);swit
8、ch(j)case 1:xxtj();break;/调用信息添加函数case 2:xianshi();break;/调用显示模块case 3:chazhao();break;/调用查找模块case 4:paixu();break;/调用排序函数case 5:dingpiao();break;/调用订票模块case 6:tuipiao();break;/调用退票模块case 0:baocun();printf(谢谢使用,再见!n);break;default:printf(输入有误!n);break;while(j!=0);/判断是否调用其他函数void chushihua()/定义系统初始化函
9、数卢杰if(access(fjdpxt.dat,0)jianli();elseduqu();void jianli()/定义建立数据文件函数卢杰FILE *fp;if(fp=fopen(fjdpxt.dat,wb)=NULL)/打印文件判断是否出错printf(创建文件失败!);/打印出错提示getchar();return;printf(请依次输出航班信息(以回车键结束):n);/打印提示信息printf(-n);for(i=0;iN;i+)printf(请输入航班号:);scanf(%d,&fji.hbh);printf(请输入起始站:);scanf(%s,fji.qd);printf(请
10、输入终点站:);scanf(%s,fji.zd);printf(请输入票价:);scanf(%f,&fji.pj);printf(请输入机票数:);scanf(%d,&fji.sl);fwrite(&fji,sizeof(struct hbxx),1,fp);m+;printf(添加完毕,是否继续添加?请键入y或n以回车键结束:);scanf(%s,pd);if(strcmp(pd,y)!=0)/判断是否继续添加航班信息fclose(fp);/关闭文件return;void duqu()/定义读取文件函数蔡晓宏FILE *fp;if(fp=fopen(fjdpxt.dat,r)=NULL)pr
11、intf(创建文件失败!);getchar();return;i=0;while(!feof(fp)/判断是否遇到文件结束, fread(&fji,sizeof(struct hbxx),1,fp);/逐块读取数据i+;m+;/计算存在的航班数m-;fclose(fp);void baocun()/定义保存函数蔡晓宏FILE *fp;if(fp=fopen(fjdpxt.dat,wb)=NULL)printf(创建文件失败!);getchar();return;for(i=0;im;i+)/逐块保存数据fwrite(&fji,sizeof(struct hbxx),1,fp);fclose(f
12、p);void xxtj()/定义添加航班信息函数卢杰doprintf(请依次输入您要添加的航班信息(以回车键结束):n);/打印提示信息printf(n);printf(请输入航班号:);scanf(%d,&fjm.hbh);printf(请输入起点站:);scanf(%s,fjm.qd);printf(请输入终点站:);scanf(%s,fjm.zd);printf(请输入票价:);scanf(%f,&fjm.pj);printf(请输入机票数:);scanf(%d,&fjm.sl);m+;printf(添加完毕,是否继续添加?请键入y或者n以回车键结束:);scanf(%s,pd);wh
13、ile(!strcmp(pd,y);/判断是否继续添加void scgs()/定义输出格式祁海鹏printf(航班号tt起始站tt终点站tt价格tt机票数n);/信息标题 for(i=0;im;i+)printf(PRINT);/打印出信息void xianshi()/定义显示航班信息函数祁海鹏printf(n目前我们有如下航班:n);scgs();/调用输出格式函数printf(n请按回车键返回上层菜单);getchar();getchar();void chazhao()/定义查询函数祁海鹏int n;doprintf(n请输入航班号:);scanf(%d,&n);/输入查询的航班号for
14、(i=0;im;i+)if(fji.hbh=n)/按航班号判定输出条件printf(n您所查找的航班信息为:n);printf(航班号tt起始站tt终点站tt票价tt机票数nn);printf(PRINT);/显示信息strcpy(pd,y);printf(n查询完毕,按回车键继续);getchar();getchar();return;printf(n对不起,没有您需要的信息!n);printf(是否重新查找?请键入y或n以回车键结束:);scanf(%s,pd);while(!strcmp(pd,y);/判断是否重新查找void dingpiao()/定义订票业务函数李平char a10=
15、y;dochazhao();/调用查询模块if(strcmp(pd,y)printf(对不起!没有找到您所需要的航班,所以不能订票。n);printf(n请按回车键返回上层菜单);getchar();getchar();strcpy(pd,y);break;doprintf(请输入您要订的机票数(以回车结束):);scanf(%d,&fji.dcp);/输入所定机票数if(fji.dcp=fji.dcp)/判断机票数是否大于等于订票数fji.sl=fji.sl-fji.dcp;printf(订票成功!);break;else if(fji.slfji.dcp)/判断机票数是否小于订票数prin
16、tf(对不起,您所选择的航班只剩%d张机票n,fji.sl);printf(是否需要重新输入机票数?请输入y或n以回车键结束:);/判断是否重新输入订票数scanf(%s,a);while(!strcmp(a,y);printf(是否需要订其他航班的机票?请输入y或n以回车键结束:);scanf(%s,a);while(!strcmp(a,y);/判断是否继续订票void tuipiao()/定义退票函数李平char a10;doint n=0;chazhao();/调用查找函数if(strcmp(pd,y)printf(对不起!没有找到你所需要的航班,所以不能退票。n);printf(n请按
17、回车键返回上层菜单);getchar();getchar();strcpy(pd,n);break;printf(请输入您要退的机票数目:);scanf(%d,&n);/输入所退票数if(n=fji.dcp)printf(输入错误,退票量大于售出量。n);elsefji.sl=fji.sl+n;printf(退票成功!);printf(是否继续?请键入y或n以回车键结束:);/判断是否继续退票scanf(%s,a);while(!strcmp(a,y);/判定并跳出循环void paixu()/定义排序函数李平intn;printf(n*n);printf(1.按航班号从小到大排序n2.按航班
18、号从大到小排序n);printf(*);printf(请在1-2中选择以回车键结束:);scanf(%d,&n);/输入排序方式switch(n)case 1:paixu1();break;/调用从小到大排序函数case 2:paixu2();break;/调用从大到小排序函数default:printf(输入有误!按默认输出。n);printf(排序后的航班信息为:n);scgs();/显示排序后的航班信息printf(n请按回车键返回上层菜单);getchar();getchar();void paixu1()/定义从小到大排序函数int k,j;struct hbxx t;for(i=0;jm;i+)k=1;for(j=1;jfjj.hbh)k=j;if(i!=k)t=fjk;fjk=fji;fji=t;void paixu2()/定义从大到小排序函数int k,j;struct hbxx t;for(i=0;jm;i+)k=1;for(j=1;jm;j+)if(fjk.hbhfjj.hbh)k=j;if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 司法公信制度建设实施方案
- 行政类办公资产管理制度汇编
- 美容美发行业操作与服务标准
- 2026年口腔医疗管理公司员工心理健康疏导管理制度
- 2026年剧本杀运营公司税务申报与缴纳管理制度
- 2025年5G技术在大交通领域创新应用报告
- 2025年全球数据中心冷却技术五年优化报告
- 2025年农业科技行业智能化发展报告及创新趋势分析
- 2025年生鲜配送包装成本优化策略十年分析报告
- 2025年智慧城市行业创新规划报告
- 施工标志杆施工方案
- 工务专业应急预案(3篇)
- 村干部国土培训
- 2025至2030全球及中国场馆管理软件行业发展趋势分析与未来投资战略咨询研究报告
- 乡镇卫生院工作人员绩效考核表
- 市政公用工程设计文件编制深度规定(2025年版)
- 头皮知识培训课件
- 《中国临床肿瘤学会(csco)小细胞肺癌诊疗指南(2025版)》
- 工程服务协议
- 2025至2030中国半导体AMC过滤器行业竞争优势及前景趋势预判报告
- 乡镇高层灭火救援疏散应急演练方案及流程
评论
0/150
提交评论