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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10595516.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(飞机订票系统课程设计报告.docx)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

1、飞机订票系统课程设计报告 飞机订票系统课程设计报告 指导老师: 班 级: 学生姓名: 学 号: 完成日期:

2、 计算机科学与技术系 飞机订票系统课程设计报告 一、系统分析。 1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以与出错率,决定使用全局数组与变量进行操作。 1.2飞机订票系统简易图 二、系统设计 2.1总体设计(主要功能) 本程序包含六大主要模块①添加信息模块;②浏览信息模块; ③信息查询模块;④信息排

3、序模块;⑤订票模块;⑥退票模块。 整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。 航班信息包括:航班号,起点,终点,票价,数量与订票标志量(隐藏信息)。 输入模块,使用分条输入,以减少错误率并方便操作。 浏览,查询与排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。 订,退票模块调用查询模块实现其功能。 2.2 软件、硬件环境 软件环境 VC2009 硬件环境 处理器 Intel(R) Core(TM) i5-3210M CPU @2.50G

4、Hz 2.50GHz;显卡 GTX650。 内 存 4.0GB 操作系统 Windows 7 2.3主要数据结构和程序的关系说明 主要数据结构是结构体 struct hbxx //定义结构体数组,航班信息 { int hbh; //定义航班号 char qd[20]; //起点站 char zd[20]; //终点站 float pj; //票价 int sl; //机票数量 int dcp; //订票标志量 }fj[N]; 2.4界面设计 本程序开始运行的界面,共7个选项,简洁而大方。 接下来是添加信息的界面。采

5、用分条添加,清晰而明朗。 浏览信息的界面,将所有航班信息显示在屏幕上。 查询航班信息界面,根据用户输入的航班号,显示其航班信息。便于用户使用,查找。 航班排序界面,将所有航班根据航班号进行排序,可由用户选择是由大到小,还是由小到大。 订票界面,由用户输入需要订票的航班号,在进行订票操作。 退票界面。 2.5函数模块设计(函数功能说明和入口参数的说明) void xxtj(); //信息添加的函数 void xianshi(); //显示航班信息 void chazhao(); //查找航班信息 void

6、 dingpiao(); //订票业务 void tuipiao(); //退票业务 void duqu(); //读取文件 void baocun(); //保存文件 void scgs(); //输出格式函数 void paixu(); //航班排序 void chushihua(); //系统初始化 void jianli(); //建立数据文件 void paixu1(); //按航班号从小到大排 void paixu2(); //从大到小 三、系统实现 主要代码 //飞机订票系统 //头文件 #include

7、h> //标准输入,输出函数 #include //包含字符串处理的头文件 #include //包含access的头文件,用于系统初始化 #define N 9999 //定义最大航班数 #define PRINT "%d\t\t%s\t\t%s\t\t%.2f\t\t%d\n",fj[i].hbh,fj[i].qd,fj[i].zd,fj[i].pj,fj[i].sl //宏定义输出格式▲ struct hbxx //定义结构体数组,航班信息 { int hbh; //定义航班号 char qd[20

8、]; //起点站 char zd[20]; //终点站 float pj; //票价 int sl; //机票数量 int dcp; //订票标志量 }fj[N]; int i,m=0; //定义全局变量 char pd[10]="y"; //函数声明 void xxtj(); //信息添加的函数——芦杰 void xianshi(); //显示航班信息——祁海鹏 void chazhao(); //查找航班信息——祁海鹏 void dingpiao(); //订票业务——李平 void tuipiao(); //

9、退票业务——李平 void duqu(); //读取文件——蔡晓宏 void baocun(); //保存文件——蔡晓宏 void scgs(); //输出格式函数——祁海鹏 void paixu(); //航班排序——李平 void chushihua(); //系统初始化——芦杰 void jianli(); //建立数据文件——芦杰 void paixu1(); //按航班号从小到大排——蔡晓宏 void paixu2(); //从大到小——蔡晓宏 //主函数 void main() //主函数———李平 { int j;

10、 chushihua(); //系统初始化判断是否存在原始的数据文件 printf(" 欢迎使用飞机订票系统\n");//打印出系统主界面 do { printf("=============================================================================\n" "\t\t\t1.添加航班信息。\n" "\t\t\t2.浏览航班信息。\n" "\t\t\t3.查询航班信息。\n" "\t\t\t4.航班信息排序。\n" "\t\t\t5.订票业务。\n" "

11、\t\t\t6.退票业务。\n" "\t\t\t0.退出。\n" "===============================================================================\n"); printf("请在0-6中选择以回车键结束:"); scanf("%d",&j); switch(j) { case 1:xxtj();break; //调用信息添加函数 case 2:xianshi();break; //调用显示模块 case 3:chazhao();break; //调用

12、查找模块 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() //定义系统初始化函数——卢杰 {

13、 if(access("fjdpxt.dat",0)) { jianli(); } else { duqu(); } } void jianli() //定义建立数据文件函数——卢杰 { FILE *fp; if((fp=fopen("fjdpxt.dat","wb"))==NULL) //打印文件判断是否出错 { printf("创建文件失败!"); //打印出错提示 getchar(); return; } printf("请依次输出航班信息(以回车键结束):\n"); //打印提示信息 pr

14、intf("-----------------------------------------------------------------------------\n"); for(i=0;i

15、 printf("请输入机票数:"); scanf("%d",&fj[i].sl); fwrite(&fj[i],sizeof(struct hbxx),1,fp); m++; printf("添加完毕,是否继续添加?请键入y或n以回车键结束:"); scanf("%s",pd); if(strcmp(pd,"y")!=0) //判断是否继续添加航班信息 { fclose(fp); //关闭文件 return; } } } void duqu() //定义读取文件函数——蔡晓宏 { FILE

16、fp; if((fp=fopen("fjdpxt.dat","r"))==NULL) { printf("创建文件失败!"); getchar(); return; } i=0; while(!feof(fp)) //判断是否遇到文件结束, fread(&fj[i],sizeof(struct hbxx),1,fp); //逐块读取数据 i++; m++; //计算存在的航班数 } m--; fclose(fp); } void baocun() //定义保存函数——蔡晓宏 { FILE *fp;

17、 if((fp=fopen("fjdpxt.dat","wb"))==NULL) { printf("创建文件失败!"); getchar(); return; } for(i=0;i

18、~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("请输入航班号:"); scanf("%d",&fj[m].hbh); printf("请输入起点站:"); scanf("%s",fj[m].qd); printf("请输入终点站:"); scanf("%s",fj[m].zd); printf("请输入票价:"); scanf("%f",&fj[m].pj); printf("请输入机票数:"); scanf("%d",&fj[m].sl); m++;

19、 printf("添加完毕,是否继续添加?请键入y或者n以回车键结束:"); scanf("%s",pd); }while(!strcmp(pd,"y")); //判断是否继续添加 } void scgs() //定义输出格式——祁海鹏 { printf("航班号\t\t起始站\t\t终点站\t\t价格\t\t机票数\n"); //信息标题 for(i=0;i

20、班:\n"); scgs(); //调用输出格式函数 printf("\n请按回车键返回上层菜单"); getchar(); getchar(); } void chazhao() //定义查询函数——祁海鹏 { int n; do { printf("\n请输入航班号:"); scanf("%d",&n); //输入查询的航班号 for(i=0;i

21、intf("航班号\t\t起始站\t\t终点站\t\t票价\t\t机票数\n\n"); printf(PRINT); //显示信息 strcpy(pd,"y"); printf("\n查询完毕,按回车键继续"); getchar(); getchar(); return; } } printf("\n对不起,没有您需要的信息!\n"); printf("是否重新查找?请键入y或n以回车键结束:"); scanf("%s",pd); }while(!strcmp(pd,"y")); //判断是否重新查

22、找 } void dingpiao() //定义订票业务函数——李平 { char a[10]="y"; do { chazhao(); //调用查询模块 if(strcmp(pd,"y")) { printf("对不起!没有找到您所需要的航班,所以不能订票。\n"); printf("\n请按回车键返回上层菜单"); getchar(); getchar(); strcpy(pd,"y"); break; } do { printf("请输入您要订的机票数(以回车结束):

23、"); scanf("%d",&fj[i].dcp); //输入所定机票数 if(fj[i].dcp<=0) //判断机票数是否出错 { printf("输入错误!至少需订1张机票。\n"); } else if(fj[i].sl==0) //判断机票是否手售完 { printf("对不起,你所选择的航班的机票已售完!\n"); break; } else if(fj[i].sl!=0&&fj[i].sl>=fj[i].dcp) //判断机票数是否大于等于订票数 { fj[i]

24、sl=fj[i].sl-fj[i].dcp; printf("订票成功!"); break; } else if(fj[i].sl

25、入y或n以回车键结束:"); scanf("%s",a); }while(!strcmp(a,"y")); //判断是否继续订票 } void tuipiao() //定义退票函数——李平 { char a[10]; do { int n=0; chazhao(); //调用查找函数 if(strcmp(pd,"y")) { printf("对不起!没有找到你所需要的航班,所以不能退票。\n"); printf("\n请按回车键返回上层菜单"); getchar(); getchar();

26、strcpy(pd,"n"); break; } printf("请输入您要退的机票数目:"); scanf("%d",&n); //输入所退票数 if(n<=0) //判断票数是否有效 printf("输入错误!至少需退1张机票。\n"); else if(n>=fj[i].dcp) { printf("输入错误,退票量大于售出量。\n"); } else { fj[i].sl=fj[i].sl+n; printf("退票成功!"); } printf("是否继续?请键入y或n以回车

27、键结束:"); //判断是否继续退票 scanf("%s",a); }while(!strcmp(a,"y")); //判定并跳出循环 } void paixu() //定义排序函数——李平 { int n; printf("\n**************************************************************\n"); printf("1.按航班号从小到大排序\n" "2.按航班号从大到小排序\n"); printf("*******************************************

28、"); printf("请在1-2中选择以回车键结束:"); scanf("%d",&n); //输入排序方式 switch(n) { case 1:paixu1();break; //调用从小到大排序函数 case 2:paixu2();break; //调用从大到小排序函数 default:printf("输入有误!按默认输出。\n"); } printf("排序后的航班信息为:\n"); scgs(); //显示排序后的航班信息 printf("\n请按回车键返回上层菜单"); getc

29、har(); getchar(); } void paixu1() //定义从小到大排序函数 { int k,j; struct hbxx t; for(i=0;jfj[j].hbh) k=j;} if(i!=k) { t=fj[k]; fj[k]=fj[i]; fj[i]=t; } } } void paixu2() //定义从大到小排序函数 { int k,j; struct h

30、bxx t; for(i=0;j

31、改仍无法完成调试。 讨论决定果断放弃,采用全局结构体数组。这一决定,大幅度降低了编程的难度,我们完成了调试。但是运行中总是执行中断。查找资料,说可能是系统空间的问题,使用文件存储可以解决。但是文件方面的知识掌握得很不扎实,只能一手拿书一手查资料,展开工作。 并且成功完成了调试运行,进行测试中发现有好多的BUG,比如订票系统首次使用会报错,退票系统可退比订票量还多得票等等。我们一条一条修复。最终完成程序。 五、总结 经过本次程序设计,暴露出本团对的很多问题,首先是知识掌握水平不一,作为组长因自身英语水平不高,果断决定所有变量与函数名采用拼音缩写。然后是队员编出的程序无法完美兼容,显示出我们沟通的缺乏。 同时也表现出我们知识的欠缺,对于链表,指针与文件的使用,掌握的是在有限,仍需要不断学习,书本上的东西跟本无法完成一个程序。每次报错我们需要根据错误修改,改不了的就上网查找原因。 还有好多好多的瑕疵。 但是不得不承认,经过本次课题设计,也表现出队员们的很多优点,思维缜密,查漏补缺,集体的力量是伟大,通过大家的讨论,总能得到一个好的解决方案。 33 / 33

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服