C语言课程设计-飞机定票系统.doc_第1页
C语言课程设计-飞机定票系统.doc_第2页
C语言课程设计-飞机定票系统.doc_第3页
C语言课程设计-飞机定票系统.doc_第4页
C语言课程设计-飞机定票系统.doc_第5页
免费预览已结束,剩余77页可下载查看

下载本文档

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

文档简介

课 程 设 计 报 告 课程名称课程名称 c c 语言课程设计语言课程设计 课题名称课题名称 飞机订票系统飞机订票系统 专专 业业 电子信息工程电子信息工程 班班 级级 0981 学学 号号 姓姓 名名 指导教师指导教师 20102010 年年 6 6 月月 2525 日日 湖南工程学院 课 程 设 计 任 务 书 课程名称 c 程序设计 课 题 飞机订票系统 专业班级 电子信息工程 0981 学生姓名 学 号 指导老师 审 批 任务书下达日期 2010 年 6 月 25 日 任务完成日期 2010 年 7 月 10 日 设计课题四:飞机订票系统设计课题四:飞机订票系统 一、问题描述: 本系统可以用来实现对订票信息进行输出,显示,退票,查询,保存等,并 保存文件中,以达到对飞机订票信息进行随时的订票,查询何退票的操作 管理系统. 二、功能描述: 本系统采用一个包含 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 三、三、 测试数据测试数据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 显示模块显示模块 voidvoid 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 在程序设计中的问题和解决:在程序设计中的问题和解决: 1919 附录附录2020 源程序清单(带注释)源程序清单(带注释)2020 1.1.机票信息录入(带注释):机票信息录入(带注释):2020 3.3.源程序清单:(附)源程序清单:(附)3131 参考文献参考文献7575 计算机与通信学院课程设计评分表计算机与通信学院课程设计评分表7676 1 一、功能简介 1.11.1 主要功能介绍主要功能介绍 本程序能输入最多 1000 个机票信息,管理员在保存功能中通过密码验证 输入机票信息,可以对机票信息进行查询;修改;删除等功能。一般用户可以 使用订票;显示;退票等功能,在订票时用户输入密码在退票时通过验证后成 功退票。 具体功能如下: 1 、保存模块: 1 机票信息录入 2 查询所有机票 3 修改机票信息 4 删除机票信息 有机票信息的管理,对机票信息输入,查询,修改,删除。 2、订票模块:当有机票信息后可以订票,订票时输入航班号(进入时有可以查 询 所有机票信息)出现航班信息,确定订票后输入个人信息:姓名,性别,证 件号,联系电话,密码(退票时用) 。出现您的个人信息,确定后回车订票 结束。 3 显示模块: 1 全部 2 航班号 3 出发地 4 目的地 按上述方式查看机票信息 4 退票模块:(可以选择查看航班信息) 1 姓名 2 证件号 当输入姓名或证件号后会显示您定的航班信息,再要求输入密码,当密码 正 确时会显示您的个人信息,回车再是否确定退票。 5 查询模块:(输入管理密码)输入航班号,显示航班信息 和所有乘客个人信 息 2.12.1 输入输出的要求输入输出的要求 当要输入密码时一般为 1234,在界面中无提示时当要继续请按回车,其他的请 按提示操作,由于时间和能力的关系没有考虑到意外情况请按提示操作。 2 二、概要设计 2.12.1 程序的模块程序的模块 1、 保存模块:含有机票信息的管理,对机票信息输入,查询,修改,删除。 2、订票模块:当有机票信息后可以订票,订票时输入航班号(进入时有可以查 询 所有机票信息)出现航班信息,确定订票后输入个人信息:姓名,性别,证 件号, 联系电话,密码(退票时用) 。出现您的个人信息,确定后回车订 票 结束。 3、显示模块:含全部;航班号;出发地;目的地等方式查询所有机票信息。 4、退票模块:当输入姓名或证件号后会显示您定的航班信息,再要求输入密码, 当密码正确时会显示您的个人信息,回车再是否确定退票。 5 查询模块:(输入管理密码)输入航班号,显示航班信息 和所有乘客个人信 息 2.22.2 结构体结构体 struct travellerinfo/旅客信息结构 char fightnum 10;/航班号 char name 10; /姓名 char sex 5; /性别 char idnum 20;/证件号码 char password 10;/密码 char poto 12; /联系电话 ; struct fightinfo/机票信息结构体 3 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;/到达时间 年 unsigned 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 *travellerfile=null; /存旅客信息数据文件 file *fightfile=null; /存机票信息数据文件 char filename=“旅客信息信息登记.dat“; /记录旅客信息登记 char filename1=“机票信息.dat“; /记录机票信息 4 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 t12345 衡阳 广州 230 1-1 12:11 2-2 13:12 60 241 241 3.23.2 旅客信息信息登记旅客信息信息登记 航班号 | 姓名 | 性别| 证件号 | 联系电话 | 密码 123 肖双喜 男 200913020127123 123 余荣川 男 200913020128 2142452314 12345 5 四、详细设计 4 4.1.1 系统总体结构系统总体结构 退 图 4.1 系统总体结构图 在这个总体框架中,我们可以整体地看到这个系统运行流程,所调用几个重要函数。 订票查询所有航班 输入旅客信息 输入航班号 显示 全部 航班号 出发地 目的地 退票 查询所有 航班 姓名 证件号 查询密码 输入航班号航班信息和旅客信 息 保存 机票信息录入 查询所有机票 修改机票 删除机票信息 飞 机 订 票 系 统 6 4.24.2 密码模块函数密码模块函数 voidvoid checkcodecheckcode()() 该模块包括密码的输入并验证,修改密码。算法如下: n y n y 开始 打开 code.txt 打开文件 成功? 读出正确密码到 co20 输入要验证的密码 到 co120并验证 密码正确? 进入管理系统 结束 初始化密码 到 co20 将该密码写入 到 code.txt 重新输入 密码正确? 7 密码验证 4.3 机票信息录入机票信息录入 void inputinfo()流程图()流程图 无效重新输入 无效重新输入 无效重新输入 打开文件 读取数据 输入航班号 输入出发信息 输入到达信息 折扣 写入文件 是否输入下一 个信息 8 4.44.4 订票系统订票系统 voidvoid bookticketbookticket()()流程图流程图 在有航班信息的情况下可以进行订票操作。 否 是 否 是 否 是 否 是 否 否否 结束 开始 打开文件 1 输入航班号 读取文件 1 打开文件 2 读取文件 2 输入个人信息 显示航班信息 保存 查询所有 确定订票 提示放弃 显示航班信息 9 4.54.5 显示模块显示模块 voidvoid display()display()流程图流程图 否 是 否 是 是 否 结束 显示模块 打开文件 显示查询方式 读取数据 输入查询信息 显示航班信息 有无数据 全部查询 10 显示所有或条件航班信息 4.64.6 退票系统退票系统 voidvoid returnticket()returnticket()流程图流程图 否 是 否 是 否 是 否 是 否否 返回 开始 打开文件 1 读取文件 1 打开文件 2 读取文件 2 显示个人信息 显示航班信息 密码? 显示信息输入方式 确定退票 提示密码错误 输入方式及信息 11 五、使用说明 5.15.1 主界面主界面 5-15-1 1.程序欢迎界面(对系统的说明,及程序分组名单)停留 15s 结束 12 5-25-2 2、程序主界面(按数字 1-5 再回车)进入其他功能 5.25.2 机票信息管理(保存)机票信息管理(保存) 5-35-3 1、输入密码(第一次设置密码 1234)机票信息管理 13 5-45-4 2、选 1 进入机票信息录入 5-55-5 3、选 2 查询所有航班信息 5-6 14 4、选 3 修改航班信息,确定后进入查询所有航班 5-7 5、输入航班号 显示航班信息 要求输入修改信息 5-8 15 6、删除请谨慎,全部删除会删除所有文件 5.3 订票系统使用订票系统使用 5-8 1、定票时查询所有的航班信息 5-9 16 2、输入正确的航班号 5-10 3、订票时输入个人信息 17 5.45.4 退票系统退票系统 5-11 1、进入退票系统是否查询所有机票信息 5-12 18 2、选择输入信息输入的方式并输入 5-13 3、退票时的信息显示然后确定 19 六、课程设计总结 6.16.1 课程设计心得:课程设计心得: 课程设计给我一个学以致用的机会,刚开始的时候还以为学这黑黑的东 西没用,只是一些简单的计算。经过了这次的练习我才发现原来的黑屏有它自己 的好处,通过学习也发现原来这种黑屏就是那些应用程序的原型,不论你以后学 程序开发还是网页的制作都有很好大好处,这些基础是培养学生综合运用所学 知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工 作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开 发技术是十分重要的。回顾起此次课程设计,至今我们仍感慨颇多,的确,自从 拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅 可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识 是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论, 才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 通过这次的学习我发现以后不管是哪一科我们尽量要把它拿过来使用,只 有把知识应用到实际生活中才能说这知识是自己的啦。在以后找工作中这些作 品就会是我的学习凭证,是我的能力的体现,不难想象一个公司要的是一些实际 的东西不需要太多的理论。 6.2 在程序在程序设计设计中的中的问题问题和解决:和解决: 在订票系统中我们发现,在订票时我们的把机票信息中的剩余票数要减少一个,而在 20 退票时我们的把剩余票数加以个,由于在文件的定义时不好把机票信息文件和旅客信息文 件放一起,所以在修改机票剩余票数的是侯的打开两个文件然后得对两个文件进行修改。 再保存模块得把机票的信息录入进去,所以有很多不分都得写,像机票信息的录入, 修改,删除,这样一来就像是写一个机票信息管理系统一样,这样一来导致这个文件会很 大,很繁琐。但是还好 c 语言是面向过程的导致很多的程序代码重复,这样就在写好一部 分代码以后就可以进行复制,然后进行修改就行,总体来说工作量还不是很大。. 附录 源程序清单(带注释)源程序清单(带注释) 1.1.机票信息录入(带注释):机票信息录入(带注释): /*机票信息录入*/ void inputinfo(struct allfightinfo *p_fight) int count;/变量的定义 char ch,ch1;/定义变量 system(“cls“);/清屏 if(fightfile=fopen(filename1,“a+b“)=null)/打开文件 printf(“不能打开文件,请确认磁盘已满或 机票信息.dat 文件没有损 坏“); getch();exit(1);/不能打开时的处理 rewind(fightfile); /定位文件头开始读取 for(count=0;fread(count+) continue; /读取并计数已经存的数据量 printf(“ntt-您好,欢迎进入中国民航机票信息登记系统!- 21 n“);/输出字符及提示语句 printf(“nttt 飞机票信息登记表n“); printf(“n 请正确填写以下信息(系统目前不能完全支持中文(中文有可能 出错) ,请用英文或拼音n“); printf(“- -nn“); printf(“航班号:“); while(countp_fightcount.fight1.alls ticket) 30 printf(“您输入的剩余票不合乎实际!请重新输入!“); goto surp; fflush(stdin);/清空缓存 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(“输入有误,终止飞机票信息录信,返回!“); getch();/等待输入字符 system(“cls“); 31 return ; /返回 3.3.源程序清单:(附)源程序清单:(附) /* * * author:飞机订票系统组 * datetime:2010/06*/ #include #include #include #include #include #define fightmax 1000 void inputinfo(struct allfightinfo *);/机票信息录入 void filename1read (struct allfightinfo *);/旅客信息信息读取 void allabout(struct allfightinfo *); /查询所有信息 void mofinfo(struct allfightinfo *);/修改机票信息 void password();/密码验证 int checkcode();/身份验证 void allabout(struct 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(struct allfightinfo *p_fight);/显示模块 void returnticket(struct allfightinfo *p_fight);/退票 void enquiry(struct allfightinfo *p_fight);/查询模块 void welcome();/欢迎 void modifycode();/修改登陆密码 void delinfo(struct allfightinfo *);/删除 void fightcontrol(struct allfightinfo *);/机票管理模块 void bookticket(struct allfightinfo *p_fight);/订票系统 void display(struct allfightinfo *p_fight);/显示模块 32 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 poto 12; /联系电话 ; struct fightinfo/机票信息结构体 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;/到达时间 年 unsigned 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;/机票信息结构体 ; file *travellerfile=null; /存旅客信息数据文件 file *fightfile=null; /存机票信息数据文件 char filename=“旅客信息信息登记.dat“; /记录旅客信息登记 33 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(); switch(in) case 1:bookticket(p_fight);/订票 break; 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; while(in!=7); printf(“nnnttt 感 谢 使 用 本 系 统 ! ! “); start=time(null); end=time(null); while(end-startp_fightcount.fight1.alls ticket) printf(“您输入的剩余票不合乎实际!请重新输入!“); goto surp; fflush(stdin); 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(“输入有误,终止飞机票信息录信,返回!“); getch(); system(“cls“); return ; /返回 /*密码验证*/ void password() file *fp; char co20; char col20; int i,sign=0; system(“color 20“); do sign=checkcod

温馨提示

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

评论

0/150

提交评论