飞机定票系统C语言课程报告_第1页
飞机定票系统C语言课程报告_第2页
飞机定票系统C语言课程报告_第3页
飞机定票系统C语言课程报告_第4页
飞机定票系统C语言课程报告_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

1、 课 程 设 计 报 告 课程名称课程名称 c c 语言课程设计语言课程设计 课题名称课题名称 飞机订票系统飞机订票系统 专专 业业 电子信息工程电子信息工程 班班 级级 0981 学学 号号 200913020127 姓姓 名名 肖双喜肖双喜 指导教师指导教师 黄哲黄哲 陈多陈多 20102010 年年 6 6 月月 2525 日日 湖南工程学院 课 程 设 计 任 务 书 课程名称 c 程序设计 课 题 飞机订票系统 专业班级 电子信息工程 0981 学生姓名 肖双喜 学 号 200913020127 指导老师 黄哲 田媛 陈多 审 批 任务书下达日期 2010 年 6 月 25 日 任务

2、完成日期 2010 年 7 月 10 日 一、设计内容与设计要求 1设计内容: 见附录 2设计要求: 1) 设计正确,方案合理。 2) 界面友好,使用方便。 3) 程序精炼,结构清晰。 4) 设计报告 5000 字以上,含程序设计说明,用户使用说明, 源程序清单及程序框图。 5) 上机演示。 二、进度安排 第一周 星期五: 课题分配,查阅资料 第二周星期日: 总体设计,详细设计 星期二: 编程,上机调试、修改程序 星期四: 编程,上机调试、修改程序 星期五: 答辩撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(a4 大小的 图纸及程序清单) 。 正文的格式:

3、一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行 距为 22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块 图) ;三、主要功能的实现(至少要有一个主要模块的流程图) ;四、程序调试; 五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释) 。 正文总字数要求在 5000 字以上(不含程序原代码) 。 设计课题四:飞机订票系统设计课题四:飞机订票系统 一、问题描述: 本系统可以用来实现对订票信息进行输出,显示,退票,查询,保存等,并 保存文件中,以达到对飞机订票信息进行随时的订票,查询何退票的操作 管理系统. 二、功能描述: 本系统采用

4、一个包含 n 个数据的结构体数组,每个数据的结构应当包括: 航班号,出发地,目的地,价格,等信息,。 完成以下模块: 1.订票 2.显示 3.退票 4.查询 5.保存 6.退出系统 3、测试 四、其它: 对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。 目录 一、功能简介一、功能简介.1 1 1.11.1 主要功能介绍主要功能介绍 .1 1 2.12.1 输入输出的要求输入输出的要求 .1 1 二、概要设计二、概要设计.2 2 2.12.1 程序的模块程序的模块 .2 2 2.22.2 结构体结构体 .2 2 2.32.3 文件的定义文件的定义 .3 3 三、三、 测试数据测

5、试数据.4 4 3.13.1 机票信息文件机票信息文件 .4 4 3.23.2 旅客信息信息登记旅客信息信息登记 .4 4 四、详细设计四、详细设计.5 5 4.14.1 系统总体结构系统总体结构 .5 5 4.24.2 密码模块函数密码模块函数 voidvoid checkcode()checkcode() .6 6 4.34.3 机票信息录入机票信息录入 voidvoid inputinfoinputinfo()流程图()流程图.7 7 4.44.4 订票系统订票系统 voidvoid bookticket()bookticket()流程图流程图.8 8 4.54.5 显示模块显示模块 v

6、oidvoid display()display()流程图流程图.9 9 4.64.6 退票系统退票系统 voidvoid returnticket()returnticket()流程图流程图.1010 五、使用说明五、使用说明.1111 5.15.1 主界面主界面 .1111 5.25.2 机票信息管理(保存)机票信息管理(保存) .1212 5.35.3 订票系统使用订票系统使用 .1515 5.45.4 退票系统退票系统 .1717 六、课程设计总结六、课程设计总结.1919 6.16.1 课程设计心得:课程设计心得: .1919 6.26.2 在程序设计中的问题和解决:在程序设计中的问

7、题和解决: .1919 附录附录.2020 源程序清单(带注释)源程序清单(带注释).2020 1.1.机票信息录入(带注释):机票信息录入(带注释):.2020 3.3.源程序清单:(附)源程序清单:(附).3131 参考文献参考文献.7575 计算机与通信学院课程设计评分表计算机与通信学院课程设计评分表.7676 0 一、功能简介 1.11.1 主要功能介绍主要功能介绍 本程序能输入最多 1000 个机票信息,管理员在保存功能中通过密码验证 输入机票信息,可以对机票信息进行查询;修改;删除等功能。一般用户可以 使用订票;显示;退票等功能,在订票时用户输入密码在退票时通过验证后成 功退票。

8、具体功能如下: 1 、保存模块: 1 机票信息录入 2 查询所有机票 3 修改机票信息 4 删除机票信息 有机票信息的管理,对机票信息输入,查询,修改,删除。 2、订票模块:当有机票信息后可以订票,订票时输入航班号(进入时有可以查 询 所有机票信息)出现航班信息,确定订票后输入个人信息:姓名,性别,证 件号,联系电话,密码(退票时用) 。出现您的个人信息,确定后回车订票 结束。 3 显示模块: 1 全部 2 航班号 3 出发地 4 目的地 按上述方式查看机票信息 4 退票模块:(可以选择查看航班信息) 1 姓名 2 证件号 当输入姓名或证件号后会显示您定的航班信息,再要求输入密码,当密码 正

9、确时会显示您的个人信息,回车再是否确定退票。 5 查询模块:(输入管理密码)输入航班号,显示航班信息 和所有乘客个人信 息 2.12.1 输入输出的要求输入输出的要求 当要输入密码时一般为 1234,在界面中无提示时当要继续请按回车,其他的请 按提示操作,由于时间和能力的关系没有考虑到意外情况请按提示操作。 1 二、概要设计 2.12.1 程序的模块程序的模块 1、 保存模块:含有机票信息的管理,对机票信息输入,查询,修改,删除。 2、订票模块:当有机票信息后可以订票,订票时输入航班号(进入时有可以查 询 所有机票信息)出现航班信息,确定订票后输入个人信息:姓名,性别,证 件号, 联系电话,密

10、码(退票时用) 。出现您的个人信息,确定后回车订 票 结束。 3、显示模块:含全部;航班号;出发地;目的地等方式查询所有机票信息。 4、退票模块:当输入姓名或证件号后会显示您定的航班信息,再要求输入密码, 当密码正确时会显示您的个人信息,回车再是否确定退票。 5 查询模块:(输入管理密码)输入航班号,显示航班信息 和所有乘客个人信 息 2.22.2 结构体结构体 struct travellerinfo/旅客信息结构 char fightnum 10;/航班号 char name 10; /姓名 char sex 5; /性别 char idnum 20;/证件号码 char password

11、 10;/密码 char poto 12; /联系电话 ; struct fightinfo/机票信息结构体 2 char fightnum 10;/航班号 char start 8;/出发地 char destination 8;/目的地 unsigned int price;/价格 unsigned int goyear;/出发时间 年 unsigned int gomoth;/月 unsigned int goday;/日 unsigned int gohour;/时 unsigned int gominute;/分 unsigned int arryear;/到达时间 年 unsign

12、ed int arrmoth;/月 unsigned int arrday;/日 unsigned int arrhour;/时 unsigned int arrminute;/分 unsigned int rebate;/折扣 unsigned int allsticket;/总票数 unsigned int surplusticket;/剩余票数 ; struct allfightinfo /机票全部结构 struct travellerinfo fight;/旅客信息结构 struct fightinfo fight1;/机票信息结构体 ; 2.32.3 文件的定义文件的定义 file

13、*travellerfile=null; /存旅客信息数据文件 file *fightfile=null; /存机票信息数据文件 char filename=旅客信息信息登记.dat; /记录旅客信息登记 char filename1=机票信息.dat; /记录机票信息 3 3、测试数据 3.13.1 机票信息文件机票信息文件 航班号出发地目的地 价格 发月-日| 时-分到月-日| 时-分|折扣| 总票|余票 123长沙 衡阳 170 1-1 12: 0 2-2 13: 0 89 240 238 t1234 衡阳 广州 280 1-1 12:0 2-2 13: 0 60 240 240 t12

14、345 衡阳 广州 230 1-1 12:11 2-2 13:12 60 241 241 3.23.2 旅客信息信息登记旅客信息信息登记 航班号 | 姓名 | 性别| 证件号 | 联系电话 | 密码 123 肖双喜 男 200913020127123 123 余荣川 男 200913020128 2142452314 12345 4 四、详细设计 4 4.1.1 系统总体结构系统总体结构 退 图 4.1 系统总体结构图 在这个总体框架中,我们可以整体地看到这个系统运行流程,所调用几个重要函数。 订票查询所有航班 输入旅客信息 输入航班号 显示 全部 航班号 出发地 目

15、的地 退票 查询所有 航班 姓名 证件号 查询密码 输入航班号航班信息和旅客信 息 保存 机票信息录入 查询所有机票 修改机票 删除机票信息 飞 机 订 票 系 统 5 4.24.2 密码模块函数密码模块函数 voidvoid checkcodecheckcode()() 该模块包括密码的输入并验证,修改密码。算法如下: n y n y 开始 打开 code.txt 打开文件 成功? 读出正确密码到 co20 输入要验证的密码 到 co120并验证 密码正确? 进入管理系统 结束 初始化密码 到 co20 将该密码写入 到 code.txt 重新输入 密码正确? 6 密码验证 4.3 机票信息

16、录入机票信息录入 void inputinfo()流程图()流程图 无效重新输入 无效重新输入 无效重新输入 打开文件 读取数据 输入航班号 输入出发信息 输入到达信息 折扣 写入文件 是否输入下一 个信息 7 4.44.4 订票系统订票系统 voidvoid bookticketbookticket()()流程图流程图 在有航班信息的情况下可以进行订票操作。 否 是 否 是 否 是 否 是 否 否否 结束 开始 打开文件 1 输入航班号 读取文件 1 打开文件 2 读取文件 2 输入个人信息 显示航班信息 保存 查询所有 确定订票 提示放弃 显示航班信息 8 4.54.5 显示模块显示模块

17、voidvoid display()display()流程图流程图 否 是 否 是 是 否 结束 显示模块 打开文件 显示查询方式 读取数据 输入查询信息 显示航班信息 有无数据 全部查询 9 显示所有或条件航班信息 4.64.6 退票系统退票系统 voidvoid returnticket()returnticket()流程图流程图 否 是 否 是 否 是 否 是 否否 返回 开始 打开文件 1 读取文件 1 打开文件 2 读取文件 2 显示个人信息 显示航班信息 密码? 显示信息输入方式 确定退票 提示密码错误 输入方式及信息 10 五、使用说明 5.15.1 主界面主界面 5-15-1

18、1.程序欢迎界面(对系统的说明,及程序分组名单)停留 15s 结束 11 5-25-2 2、程序主界面(按数字 1-5 再回车)进入其他功能 5.25.2 机票信息管理(保存)机票信息管理(保存) 5-35-3 1、输入密码(第一次设置密码 1234)机票信息管理 12 5-45-4 2、选 1 进入机票信息录入 5-55-5 3、选 2 查询所有航班信息 5-6 13 4、选 3 修改航班信息,确定后进入查询所有航班 5-7 5、输入航班号 显示航班信息 要求输入修改信息 5-8 14 6、删除请谨慎,全部删除会删除所有文件 5.3 订票系统使用订票系统使用 5-8 1、定票时查询所有的航班

19、信息 5-9 15 2、输入正确的航班号 5-10 3、订票时输入个人信息 16 5.45.4 退票系统退票系统 5-11 1、进入退票系统是否查询所有机票信息 5-12 17 2、选择输入信息输入的方式并输入 5-13 3、退票时的信息显示然后确定 18 六、课程设计总结 6.16.1 课程设计心得:课程设计心得: 课程设计给我一个学以致用的机会,刚开始的时候还以为学这黑黑的东 西没用,只是一些简单的计算。经过了这次的练习我才发现原来的黑屏有它自 己的好处,通过学习也发现原来这种黑屏就是那些应用程序的原型,不论你以 后学程序开发还是网页的制作都有很好大好处,这些基础是培养学生综合运用 所学知

20、识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实 际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机 应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算 机开发技术是十分重要的。回顾起此次课程设计,至今我们仍感慨颇多,的确, 自从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同 时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过 的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有 理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中 得出结论,才能真正为社会服务,从而

21、提高自己的实际动手能力和独立思考的 能力。 通过这次的学习我发现以后不管是哪一科我们尽量要把它拿过来使用,只 有把知识应用到实际生活中才能说这知识是自己的啦。在以后找工作中这些作 品就会是我的学习凭证,是我的能力的体现,不难想象一个公司要的是一些实 际的东西不需要太多的理论。 6.2 在程序设计中的问题和解决:在程序设计中的问题和解决: 在订票系统中我们发现,在订票时我们的把机票信息中的剩余票数要减少一个,而在 退票时我们的把剩余票数加以个,由于在文件的定义时不好把机票信息文件和旅客信息文 件放一起,所以在修改机票剩余票数的是侯的打开两个文件然后得对两个文件进行修改。 再保存模块得把机票的信息

22、录入进去,所以有很多不分都得写,像机票信息的录入, 修改,删除,这样一来就像是写一个机票信息管理系统一样,这样一来导致这个文件会很 19 大,很繁琐。但是还好 c 语言是面向过程的导致很多的程序代码重复,这样就在写好一部 分代码以后就可以进行复制,然后进行修改就行,总体来说工作量还不是很大。. 附录 源程序清单(带注释)源程序清单(带注释) 1.1.机票信息录入(带注释):机票信息录入(带注释): /*机票信息录入*/ void inputinfo(struct allfightinfo *p_fight) int count;/变量的定义 char ch,ch1;/定义变量 system(c

23、ls);/清屏 if(fightfile=fopen(filename1,a+b)=null)/打开文件 printf(不能打开文件,请确认磁盘已满或 机票信息.dat 文件没有损 坏); getch();exit(1);/不能打开时的处理 rewind(fightfile); /定位文件头开始读取 for(count=0;fread(count+) continue; /读取并计数已经存的数据量 printf(ntt-您好,欢迎进入中国民航机票信息登记系统!- n);/输出字符及提示语句 printf(nttt 飞机票信息登记表n); printf(n 请正确填写以下信息(系统目前不能完全支

24、持中文(中文有可能 出错) ,请用英文或拼音n); printf(- 20 -nn); printf(航班号:); while(countfightmax gets(p_fightcount.fight1.start); /输入出发地 printf(n 目的地:); gets(p_fightcount.fight1.destination); /输入目的地 fflush(stdin);/清空缓存 printf(n 价格:); scanf(%d,/输入价格 fflush(stdin);/清空缓存 ye:printf(n 出发时间年:); scanf(%d,/输入出发时间 if(!(1500p_f

25、ightcount.fight1.goyear/不符合时的处理(下面的输入一样) ch1=getch(); if(ch1=n|ch=n)/询问出错时是否重新输入 printf(ntt 您放弃重新输入年份!); goto mo;/转至输入月份 21 printf(ntt 请重新输入年份!); goto ye;/转至输入年份 fflush(stdin);/清空缓存 mo:printf(n 出发时间月:); scanf(%d,/时间的输入 if(!(0p_fightcount.fight1.gomoth/无效时的处理 ch1=getch(); if(ch1=n|ch=n) printf(ntt 您放

26、弃重新输入月份!); goto da;/转至输入时间天 printf(ntt 请重新输入月份!); goto mo;/转至输入时间月 fflush(stdin);/清空缓存 da:printf(n 出发时间日:);/时间天的输入 scanf(%d, if(!(0p_fightcount.fight1.goday/无效时的处理 ch1=getch(); if(ch1=n|ch=n) printf(ntt 您放弃日重新输入!); goto go;/转至输入出发时间 printf(ntt 请重新输入日!); goto da;/转至输入时间天 fflush(stdin);/清空缓存 go:printf

27、(n 出发时间时:);/出发时间时的输入 scanf(%d, if(!(0=p_fightcount.fight1.gohour ch1=getch();/输入一个字符 if(ch1=n|ch=n)/判断字符 printf(ntt 您放弃时间重新输入!); goto gomi; /转至出发分的输入 printf(ntt 请重新输入时间!); goto go; 23 fflush(stdin); gomi:printf(n 出发时间分:); scanf(%d, if(!(0=p_fightcount.fight1.gominute ch1=getch(); if(ch1=n|ch=n) prin

28、tf(ntt 您放弃时间重新输入!); goto arry; printf(ntt 请重新输入时间!); goto gomi; fflush(stdin); arry:printf(n 到达时间年:);/输入到达时间 scanf(%d, if(p_fightcount.fight1.arryearp_fightcount.fight1.goyear)/ 判断输入到达的年份是否为有效,到达时间不能小于出发时间(下同) printf(您输入的到达时间小于起飞时间,请重新输入到达时间年! ); goto arry; if(!(1500p_fightcount.fight1.arryear ch1=g

29、etch(); if(ch1=n|ch=n) printf(ntt 您放弃重新输入年份!); goto arrm; printf(ntt 请重新输入年份!); goto arry; fflush(stdin); arrm:printf(n 到达时间月:); scanf(%d, if(p_fightcount.fight1.arryear=p_fightcount.fight1.goyear goto arrm; if(!(0p_fightcount.fight1.arrmoth ch1=getch(); 25 if(ch1=n|ch=n) printf(ntt 您放弃重新输入月份!); got

30、o arrd; printf(ntt 请重新输入月份!); goto arrm; fflush(stdin); arrd:printf(n 到达时间日:); scanf(%d, if(p_fightcount.fight1.arrmoth=p_fightcount.fight1.gomoth goto arrd; if(!(0p_fightcount.fight1.arrday ch1=getch(); if(ch1=n|ch=n) printf(ntt 您放弃日重新输入!); goto arrh; 26 printf(ntt 请重新输入日!); goto arrd; fflush(stdin

31、); arrh:printf(n 到达时间时:); scanf(%d, if(p_fightcount.fight1.arrmoth=p_fightcount.fight1.gomoth goto arrh; if(!(0=p_fightcount.fight1.arrhour ch1=getch(); if(ch1=n|ch=n) printf(ntt 您放弃时间重新输入!); goto arrmi; printf(ntt 请重新输入时间!); goto arrh; 27 fflush(stdin); arrmi:printf(n 到达时间分:); scanf(%d, if(p_fightc

32、ount.fight1.arrmoth=p_fightcount.fight1.gomoth goto arrmi; if(!(0=p_fightcount.fight1.arrminute ch1=getch(); if(ch1=n|ch=n) printf(ntt 您放弃时间重新输入!); goto reb; printf(ntt 请重新输入时间!); goto arrmi; fflush(stdin); reb:printf(n 折扣:); 28 scanf(%d, if(!(0p_fightcount.fight1.rebate goto surp; fflush(stdin);/清空

33、缓存 29 fwrite( /将信息写入文件 printf(是否录入下一个飞机票信息(y/n);/询问是否输入下一个机 票信息 ch=getch(); /输入一个字符 if(ch=y|ch=y)/判断字符的输入 system(cls); printf(n 请输入下一个飞机票信息n); printf(n 航班号:); continue; /继续输入下一个飞机票信息 else printf(nn 飞机票信息录入结束,返回!); fclose(fightfile); /关闭文件 getch(); /返回子菜单 system(cls);/清屏 return ; printf(输入有误,终止飞机票信息录

34、信,返回!); getch();/等待输入字符 system(cls); return ; /返回 30 3.3.源程序清单:(附)源程序清单:(附) /* * * author:飞机订票系统组 * datetime:2010/06*/ #include #include #include #include #include #define fightmax 1000 void inputinfo(struct allfightinfo *);/机票信息录入 void filename1read (struct allfightinfo *);/旅客信息信息读取 void allabout(s

35、truct allfightinfo *); /查询所有信息 void mofinfo(struct allfightinfo *);/修改机票信息 void password();/密码验证 int checkcode();/身份验证 void modifycode();/修改登陆密码 void delinfo(struct allfightinfo *);/删除 void fightcontrol(struct allfightinfo *);/机票管理模块 void bookticket(struct allfightinfo *p_fight);/订票系统 void display(s

36、truct allfightinfo *p_fight);/显示模块 void returnticket(struct allfightinfo *p_fight);/退票 void enquiry(struct allfightinfo *p_fight);/查询模块 void welcome();/欢迎 int submeun(); struct travellerinfo/旅客信息结构 char fightnum 10;/航班号 char name 10; /姓名 char sex 5; /性别 char idnum 20;/证件号码 char password 10;/密码 char

37、poto 12; /联系电话 ; struct fightinfo/机票信息结构体 char fightnum 10;/航班号 char start 8;/出发地 char destination 8;/目的地 31 unsigned int price;/价格 unsigned int goyear;/出发时间 年 unsigned int gomoth;/月 unsigned int goday;/日 unsigned int gohour;/时 unsigned int gominute;/分 unsigned int arryear;/到达时间 年 unsigned int arrmo

38、th;/月 unsigned int arrday;/日 unsigned int arrhour;/时 unsigned int arrminute;/分 unsigned int rebate;/折扣 unsigned int allsticket;/总票数 unsigned int surplusticket;/剩余票数 ; struct allfightinfo /机票全部结构 struct travellerinfo fight;/旅客信息结构 struct fightinfo fight1;/机票信息结构体 ; file *travellerfile=null; /存旅客信息数据文

39、件 file *fightfile=null; /存机票信息数据文件 char filename=旅客信息信息登记.dat; /记录旅客信息登记 char filename1=机票信息.dat; /记录机票信息 int main(viod) int in; time_t start,end; struct allfightinfo fightmaxfightmax; /最大机票数 struct allfightinfo *p_fight; /指向结构指针 p_fight=fightmax; welcome(); system(cls); do system(cls); in=submeun()

40、; switch(in) case 1:bookticket(p_fight);/订票 break; 32 case 2:display(p_fight);/显示 break; case 3:returnticket(p_fight);/退票 break; case 4:enquiry(p_fight);/查询 break; case 5:fightcontrol(p_fight);/修改 break; case 6:system(cls); printf(nnnnnntttt 暂时没有此模块!); /systemhelp();/帮助 getch(); break; case 7:break;

41、 while(in!=7); printf(nnnttt 感 谢 使 用 本 系 统 ! ! ); start=time(null); end=time(null); while(end-start1.5) end=time(null); return; /*显示子菜单*/ int submeun() int in; char ch; system(cls); system(color 07); printf(antt-您好,欢迎进入中国民航飞机订票系统!-n); printf(nnn); printf(tt- n); printf(tt 飞 机 订 票 系 统 n); printf(tt-n

42、); printf(tt1. 订 票 n); printf(ttn); 33 printf(tt2. 显 示 n); printf(ttn); printf(tt3. 退 票 n); printf(ttn); printf(tt4. 查 询 n); printf(ttn); printf(tt5. 保 存 n); printf(ttn); printf(tt6. 帮 助 n); printf(ttn); printf(tt7. 退出系统 n); printf(tt- n); printf(tt 请您正确选择:); while(scanf(%d, fflush(stdin); return in

43、; void welcome() time_t start,end; system(color 06); printf(nnn); printf(ttt 欢 迎 使 用 飞 机 订 票 系 统!); start=time(null); end=time(null); while(end-start1) end=time(null); 34 printf(nnttt 系统的初始密码为 1234n); printf(nt 本系统目前不能完全支持中文,可使用英语或拼音等助记方 式!n); printf(nt 如果使用修改和删除功能请谨慎,建议先将资料做好备份,以 免因nnttt 系统出错造成数据丢失

44、!nn); printf(ttt*组员名单及其任务分配!*n); printf(订票 *卢剑锋 *黄侠n void bookticket(p_fight);/订 票系统 含(订票时乘客信息输入,对剩余票的更改)n); printf(显示 *雷芳桂 *曾蓉n void display(p_fight);/显示 系统 含(浏览所有机票信息(已写 allabout(p_fight);),按出发地方式,按 到达地方式, )n); printf(退票 *陈贤威 *陈阳锋n void returnticket(p_fight); 退票系统 含(删除该乘客的信息,对剩余票加一)n); printf(查询 *

45、严旭明 *刘彦亮n void enquiry(p_fight);查询 系统 含(显示某一机票所有乘客信息(含密码) )n); printf(保存 *肖双喜n void fightcontrol(p_fight);机票管理模 块 含(机票信息录入 void inputinfo(p_fight);,查询所有信息 void allabout(p_fight);,修改机票信息 void mofinfo(p_fight); ,删 除 void delinfo(p_fight);)!); start=time(null); end=time(null); while(end-start10) end=ti

46、me(null); /*查询模块 */ void enquiry(struct allfightinfo *p_fight) int count,count1,i,in,j; char ch,ch1; char *temp=null; password(); system(cls); if(travellerfile=fopen(filename,r)=null) printf(不能打开文件,请确认磁盘已满或 旅客信息.dat 文件没有损 坏); getch(); exit(1); rewind(travellerfile); /定位文件头开始读取 for(count1=0;fread(cou

47、nt1+) 35 continue; fclose(travellerfile); if(!count1) printf(不能读取数据,请确定文件是否存在或已经成功录入数据!); getch(); system(cls); return ; /反回重新操作 if(fightfile=fopen(filename1,r)=null) printf(不能打开文件,请确认磁盘已满或 机票信息.dat 文件没有损 坏); getch(); exit(1); rewind(fightfile); /定位文件头开始读取 for(count=0;fread(count+) continue; fclose(

48、fightfile); /读完后关闭文件 if(!count) printf(不能读取数据,请确定文件是否存在或已经成功录入数据!); getch(); system(cls); return ; /反回重新操作 temp=(char*)malloc(20*sizeof(char); /分配内存 system(cls); fflush(stdin); printf(nnt请输入你查询的航班号:); while(gets(temp)!=null for(i=0;icount;i+) if(!strcmp(temp,p_fighti.fight1.fightnum) printf(nttt*您要找

49、的航班信息*n); printf( 航班号|出发地|目的地| 价格|发月-日| 时-分|到月-日| 时-分|折扣| 总票|余票n); 36 printf( * *n); printf(%10s|%6s|%6s| %4d| %2d-%2d| %2d:%2d|,p_fighti.fight1.fightnum,p_fighti.fight1.start,p_fight i.fight1.destination,p_fighti.fight1.price,p_fighti.fight1.gomo th,p_fighti.fight1.goday,p_fighti.fight1.gohour,p_fi

50、ghti.fight1.g ominute); printf( %2d-%2d| %2d:%2d| %2d| %2d| %2d|,p_fighti.fight1.arrmoth,p_fighti.fight1.arrday,p_fighti.f ight1.arrhour,p_fighti.fight1.arrminute,p_fighti.fight1.rebate,p_ fighti.fight1.allsticket,p_fighti.fight1.surplusticket); printf(nnttt*您找的该航班旅客信息*); printf(n 航班号 | 姓名 | 性别| 证件号

51、 | 联系电话 | 密码 |); printf(n * *); for(j=0;jcount1;j+) if(!strcmp(p_fighti.fight1.fightnum,p_fightj.fight.fightnum) printf(n%10s |%10s |%4s |%20s |%12s |%12s|,p_fightj.fight.fightnum,p_,p_fightj.fi ght.sex,p_fightj.fight.idnum,p_fightj.fight.poto,p_fightj.fight.p assword); free(temp);

52、printf(继续请按任意键!); getch(); system(cls); return ; /*退票系统 */ void returnticket(struct allfightinfo *p_fight) int count,count1,i,j,tmp,in; char ch,ch1; static char *temp=null; char *newtemp=null; 37 time_t start,end; system(cls); if(fightfile=fopen(filename1,rb)=null) printf(不能打开文件,请确认磁盘已满或 机票信息.dat 文件

53、没有损 坏); getch(); exit(1); rewind(fightfile); /定位文件头开始读取 for(count=0;fread(count+) continue; fclose(fightfile); if(!count) printf(找不到个人数据,请确定文件存在和已经成功录入!); getch(); system(cls); return; if(travellerfile=fopen(filename,a+b)=null) printf(不能打开文件,请确认磁盘已满或 旅客信息.dat 文件没有损 坏); getch(); exit(1); rewind(trave

54、llerfile); /定位文件头开始读取 for(count1=0;fread(count1+) continue; fclose(travellerfile); printf(ntt-您好,欢迎进入中国民航飞机退票系统!-n); printf(- -nn); printf(是否要查询所有飞机票信息(y/n);/ ch=getch(); if(ch=y|ch=y) allabout(p_fight); system(cls); 38 fflush(stdin); printf(nnnn); printf(t n); printf(t 退 票 选 择 n); printf(t- -n); pr

55、intf(tt 1. 姓 名 n); printf(t n); printf(tt 2. 证 件 号 n); printf(t n); printf(tt 3. 返 回 n); printf(t n); printf(t n); printf(t 请您正确选择:); while(scanf(%d, fflush(stdin); if(in=3) return; temp=(char*)malloc(20*sizeof(char); /分配内存 newtemp=(char *)malloc(10*sizeof(char); printf(n 请输入你的姓名或证件号:); while(gets(t

56、emp)!=null for(i=0;icount1+1;i+) if(i=count1) printf(nn 没有您的订票信息!); return; 39 if(in=1) if(!strcmp(temp,p_) for(j=0;jcount;j+) if(!strcmp(p_fighti.fight.fightnum,p_fightj.fight1.fightnum) printf(nttt*您订的航班信息*n); printf( 航班号 |出发地|目的地| 价格|发 月-日| 时-分|到月-日| 时-分|折扣| 总票|余票n); printf( * *n

57、); printf(%10s|%6s|%6s| %4d| %2d-%2d| %2d:%2d|,p_fightj.fight1.fightnum,p_fightj.fight1.start,p_fight j.fight1.destination,p_fightj.fight1.price,p_fightj.fight1.gomo th,p_fightj.fight1.goday,p_fightj.fight1.gohour,p_fightj.fight1.g ominute); printf( %2d-%2d| %2d:%2d| %2d| %2d| %2d|,p_fightj.fight1.a

58、rrmoth,p_fightj.fight1.arrday,p_fightj.f ight1.arrhour,p_fightj.fight1.arrminute,p_fightj.fight1.rebate,p_ fightj.fight1.allsticket,p_fightj.fight1.surplusticket); p_fightj.fight1.surplusticket+; printf(请输入您的密码!); gets(newtemp); if(!strcmp(newtemp,p_fighti.fight.password) printf(n 航班号 | 姓名 | 性 别| 证件

59、号 | 联系电话 |); printf(n * *); printf(n%10s |%10s |%4s |%20s |%12s |n,p_fighti.fight.fightnum,p_,p_fighti.fight.s ex,p_fighti.fight.idnum,p_fighti.fight.poto); else printf(nnttt您的密码错误!); 40 start=time(null); end=time(null); while(end-start1.5) end=time(null); return; for(;icount1;i+) p

60、_fighti.fight=p_fighti+1.fight; count1-; /删除一个信息 printf(按任意键继续!); if(in=2) if(!strcmp(temp,p_fighti.fight.idnum) for(j=0;jcount;j+) if(!strcmp(p_fighti.fight.fightnum,p_fightj.fight1.fightnum) printf(ttt*您订的航班信息*n); printf( 航班号 |出发地|目的地| 价格|发 月-日| 时-分|到月-日| 时-分|折扣| 总票|余票n); printf( * *n); printf(%10

温馨提示

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

评论

0/150

提交评论