C语言课程设计报告飞机订票系统.docx
《C语言课程设计报告飞机订票系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告飞机订票系统.docx(15页珍藏版)》请在三一办公上搜索。
1、C语言课程设计报告飞机订票系统C语言课程设计报告 指导老师: 1 C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1 进一步掌握和利用C语言进行程设计的能力; 2、 进一步理解和运用结构化程设计的思想和方法; 3、 初步掌握开发一个小型实用系统的基本方法; 4、 学会调试一个较长程序的基本方法; 5、 学会利用流程图或N-S图表示算法; 6、 掌握书写程设计开发文档的能力; 二、课
2、程设计报告正文 课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: l 航班信息录入功能 l 完成航班信息浏览功能; l 查询航线。 题目的分析; 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况;另外要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。可以建立航班结构体,结构体成员包括航班号、起点站、
3、终点站、飞行时间、预售票总数、已售票数。 整体设计与模块划分; 2 根据需求分析,该程序可分为以下四大模块: 飞机订票系统 输入模块 显示模块 查询模块 退出模块 代码设计; 包括各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; 主函数 分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所需的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建
4、立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 程序: void menu int n,w; do puts(tt*MENU*nn); puts(tttt 1.enter new data); puts(tttt 2.Browse all); puts(tttt 3.Search); puts(tttt 4.exit); 3 puts(nntt *n); while(w=1); switch(n) /*主函数*/ m
5、ain menu; case 1:enter;break; case 2:Browse;break; case 3:Search;break; case 4:exit(0); printf(Choice your number(1-4): bb); scanf(%d,&n); if(n4) else w=0; w=1; getchar; 公共函数 分析:各功能模块中的分程序中的交错的较多,因而,本程序的公共函有5个,这使得各功能模块函数显得简洁,这是程序的一个特点。此处的公共函数的功能较为简单,但他很实用。 程序: 1、把航班信息输入到文件中的函数。 void input(i) 4 struc
6、t flight t; printf(nflight_no startstation endstation flytime plan_ticket sell_ticketn); scanf(%d%s%s%s%d%d,&t.flight_no,t.startstation,t.endstation,t.flytime,&t.plan_ticket,&t.sell_ticket); fp=fopen(flydata.txt,ab); if(!fp)printf(can not open this filen);exit(0); else fwrite(&t,sizeof(struct flight
7、),1,fp); fclose(fp); 2、输出一个 航班信息函数 void printf_oneflight(int i) printf(n%5d%20s%20s%10s%4d%4dn,flyi.flight_no,flyi.startstation,flyi.endstation,flyi.flytime,flyi.plan_ticket,flyi.sell_ticket); 3、输出文件内容结构函数 void printf_face printf(ntNO. startstation endstation flytime sell_ticketn); 4、载入函数实现文件内容载入程序,
8、并返回飞机航班数值。 int load FILE *fp; int i; 5 plan_ticket if(fp=fopen(flydata.txt,rb)=NULL) for(i=0;!feof(fp);i+) fread(&flyi,sizeof(struct flight),1,fp); printf(nCan not open filen); exit(0); fclose(fp); return(i-1); 5、返回退出函数实现程序退出、返回。 void printf_back int w; printf(nntSuccessful._nn); printf(What do you
9、want to do?nnt1).Browse all nowt2).back:bb); scanf(%d,&w); if(w=1) Browse; else menu; 航班基本信息输入模块 航班信息录入函数: 分析:航班的基本信息,对它们输入后,要存进原文件,采用fwrite函数就可以实现。但是,用该函数存进文件的数据都是以二进制的形式存在的,不是通常所采用的形式,可以改用fprintf函数来实现该功能。不过本程序采用的是fwrite函数。再用户输入完成后,程序会询问是否继续输入,这个功能更具人性化,可以省去返回到主函数在进入这个函数的麻烦! 【流程图输入信息 6 开始 文件打开否 输入信
10、息 将信息输出到磁盘 输出错误信息 是否继续 调用printf_back函数 结束 程序: void enter int i,n; printf(How many flights do you want input? : bb); scanf(%d,&n); printf(n Enter data nownn); for(i=0;in;i+) printf(n Input %dth float record.n,i+1); input(i); printf_back; 航班信息浏览函数: 流程图显示信息 7 开始 文件打开 输出错误信息 查找航班信息 是否查找到 删除操作 输入信息 是否继续
11、结束 显示航班信息: void Browse int i,n; n=load; printf_face; for(i=0;in;i+) 8 if(i%10=0) printf(nPress any key to contiune .); getchar; puts(nn); puts(nn); printf_oneflight(i); printf(tThere are %d record.n,n); printf(nPress any key to back .n); getchar; menu; 查询模块: 分析:基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。在查询小模块中采
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 飞机 订票 系统
链接地址:https://www.31ppt.com/p-3155403.html