还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
颌埼科冬发4课程设计报告课程名称C语言程序设计课题名称飞机订票系统班级3班学号______________________________姓名______________________________指导教师_____________________________2009年12月25日Main函数的下属子功能函数及其调用示意图:enterVoid browse函数Void menulExitOMenu函数Void save函数Void book函数Void back函数
三、Void enter函数Void browsei^i Voidsearch数Menul函数Void book函Void saveVoidback函数数
四、主流程图:
五、模块流程图清屏mune
六、使用说明:总结构功能图:输入源程序之后显示主菜单包含输入模块,浏览模块,查找模块,订票,退票,保存,返回七个选项选择1输入新航班数目N及每个航班的航班代号,起飞地点,降落地点,起飞时间的基本信息,详细情况见输入模块及input函数;回车返回主菜单选择6保存输入的航班信息;回车返回主菜单,选择2,显示前面输入的所有航班信息供乘客浏览选择;回车返回,选择3进入查找模块出现子菜单(按时间查询,按地点查询,返回主菜单),输入时间或地点,系统将自动找出乘客所要求的航班信息;回车返回,选择4进入订票模块,详情见void book函数和流程图;回车返回,选择5进入退票系统,输入航班代号系统将自动满足乘客退票要求这是简单的流程使用说明,详细情况见各模块函数和各模块流程图
七、调试分析:在程序源代码编辑好之后,开始调试出现很多的问题,其中包含格式,定义,输出等等问题,通过提示对程序进行逐一修改完善,在修改的过程中发现许多问题,查阅了课本及其它相关资料,现在举一个在输出时碰到的问题:printf Choice your number1-3:[]〃;程序运行到menul时,在运行查询模块时,输入子菜单中的选项,数字未出现在预定的括号中,运行如下图所示,2出现在括号外面要解决此问题,先观察子菜单程序printf Choice your number此-3:[]〃;注意到若要使输入的数字输出在指定的括号里面则必须加上两个转义字符\b\b.转义字符\b的功能就是退格,将当前位置退到前一列要特别注意与转移字符\t的区别,\t是水平制表即跳到下一个制表位置所以修改成pr即跳到Choiceyour number1-3:[八b\b〃;结果如下图所飞机售票操作
1.按照时间查找航班
2.按照地点查找航班
3.返回主菜单Choiceyournunberl-3L2]
八、心得体会我这次在C语言程序设计课程中,做的是“飞机订票系统”这次设计的课题是飞机订票系统,对我是一次尝试和创新的过程开始阶段,根本无从下手,在两位老师和同学的悉心帮助下我渐渐有了点思绪,并能成功完成整个程序的设计通过近一周的上机操作,充分应用了所学的C语言的知识,粗略设计出并成功的运行起该系统这说明我这次的课程设计是成功,但更为重要的我又进一步了解了C语言,加深了对C语言的认识,充分的将课本知识进行梳理、整合、融会贯通之后应用到了实际的工作需要中我对使用结构、数组、链表等数据结构有了更加进一步的理解并且了解了系统的开发流程,这在以后的学习和工作中将会非常重要.更重要的是,这次课程设计虽然花了我不少时间,但正是这些时间,让我见识到了C语言的重要性这个学生成绩管理系统都是在自己知识范围内完成的,所以界面清晰简单,可能不是很好看,但绝对实用!以实现学以致用,学有所用同时也增加了我对C语言的兴趣,激起了学习的热情同时也让我了解了编程的辛苦,只有平时多努力,才能很好进行编程.虽然编程是一件很辛苦的事,但是在编程的过程中让我深深的体会到那些编程人员的伟大.同时也让我想到我们平时用的程序是多么来之不易,我们应该感谢他们,是他们在背后默默的奉献,才换来我们生活的轻松.从这里我也得到一个体会,做一个程序,或者开发一个软件应该着重从它的后台制作入手,不能做出一个中看不中用的程序或者软件当然,由于学艺不精,在课程设计的过程也碰到的一些问题其中,不乏一些简单的基础性的错误,如经常输入错误的字母,使程序无法运行,但通过这次专业性的练习,相信在以后会有所减少而关键性问题经常出现在一些函数的使用上,由于对一些函数调用的正确使用不够熟悉,往往也会造成程序无法运行,出现错误如清屏函数clrscrO,按任意键可以插入getch,主函数void main的用法,C语言的一些标准库函数的应用然而这一切,通过老师的指导与帮助,自己的查阅资料,也都一一解决了在编程的过程中,让我明白了自己在C语言这门课是学的多么不好.通过这次编程,让我明白了,还应该更加努力去弥补自己在这方面的不足.当然在自己有了很好的理论知识后,还应该积极的进行实践活动,只有理论加实践才能将这门课学好当然我这次飞机订票系统的设计和现实中的飞机管理系统相比还存在许多不足,仅仅是一个简单的订票系统我们以后定将继续努力,争取以后更大的成功书本知识固然重要,但我们更要学会将书本知识应用到实际的工作中实践中才会发现错误,也才能改进,才能达到学习的最终目的这些就是我在这个设计中所得到的体会
九、附录
1、参考书目《C语言课程设计案例精编》,《C程序设计》
2、源程序清单^include stdio.httinclude string.h#include stdlib.h^define N100typedef struct plane{char ID
[10];/*航班代号*/char BePlace
[10];/*飞机起飞地点*/char EnPlace
[10];/*飞机降落终点*/char data
[15];/*飞机起飞时间*/int max;/*飞机最大乘客人数*/int price;/*飞机票价*/int num;/*飞机已售票数*/}PLANE;PLANE ti[N];int n;/*当前的航班数目*/void menu;void menul;void inputint iprintf〃请输入航班代号\n〃;scanf〃%s〃,ti[i].ID;printf〃请输入起飞地点\n〃;scanf〃%s〃,ti[i].BePlace;printf〃请输入降落地点:\n〃;scanf〃%s〃,ti[i].EnPlace;printf〃请输入起飞时间\n〃;scanf级s〃,ti[i].data;printf〃请输入航班的最大载客人数\n〃;scanf〃%d〃,ti[i].max;printf〃请输入航班的票价\n〃;scanf〃%d〃,ti[i].price;ti[i].num=0;void enterint i;system〃cls〃;printf〃请输入航班的数目0-%d:〃,N;scanf〃%d〃,n;/*要输入的记录个数*/printf〃\n请输入数据\n〃;fori=0;in;i++{printf zz\n请输入第%d航班记录.\n〃,i+1;input i;/*调用输入函数*/getchar;menu;}_void printf_oneint i/*显示一个记录的函数*/printf z/%lls%10s%6s%6s%6d%6d%6d〃,ti[i],ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num;}void browseint i;system〃cls〃;puts〃\n〃;printf z/\n航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n〃;fori=0;in;i++{printf_one i;printf〃\n〃;}getchar;getchar;menuO;void searchtime{―int i,m=0;struct planes;system〃cls〃;printf/z\n\nEnter thetime:;scanf〃%s〃,s.data;/*输入出发的时间*/puts〃\n一〃;printfzz\n航班代号起飞地点降落地点起飞时间票价已售票数\n〃;fori=0;in;i++if strcmp s.data,ti[i].data==0m++;if m!=0m%l0==0/*目的是分屏显示*/printf z/\n\nPress anykey tocontiune...〃;getchar;puts〃\n\n〃;printf_onei;printf〃\n〃;/*调用显示一个记录的函数*/puts〃\n一〃;getchar;/*按任意健*/getchar;menul;void serch endO{―最大乘客int i,m=0;struct planes;system〃cls〃;printf〃\n\nEnter theend Place:/z;scanf〃%s〃,s.EnPlace;/*输入要到达的地方*/puts〃\n一〃;printf/z\n航班代号起飞地点降落地点起飞时间票价已售票数\n〃;for i=0;in;i++if strcmpti[i].EnPlace,s.EnPlace==0m++;if m!=0m%l0=0/*目的是分屏显示*/printf,z\n\nPress anykey tocontiune...〃;getchar;puts〃\n\n〃;湖南工程学院课程设计任务书课程名称程序设计C课题飞机订票系统最大乘客专业班级______________________________学生姓名______________________________学号_______________________________指导老师______________________________审批_______________________________任务书下达日期年月日20091225任务完成日期年月日201013printf_onei;printf〃\n〃;/*调用显示一个记录的函数*/}puts〃\n--〃;getchar;/*按任意健*/getchar;menul;void menulint n,wl;dosystem〃cls〃;/*清屏*/puts z/\t\t\t\t飞机售票操作!\n\n〃;puts〃\t\t*********************MENU*********************\n\n〃;puts/z\t\t\t\tl.按照时间查找航班\n〃;puts/z\t\t\t\t
2.按照地点查找航班\n〃;puts/z\t\t\t\t
3.返回主菜单\n〃;puts〃\n\n\t\t**********************************************\n〃;printf Choiceyournumber1-3:[]〃;scanf〃%d〃,n;if n0||n3/*对选择的数字作判断*/wl=l;printf/zyour choiceis notbetween1and3,Please inputagain:;getchar;}else wl=0;}whilewl==l;/*选择功能*/switchncase1:search_time;break;case2:serchend;break;case3:menu;break;int search/*查找模块*/int i,k;struct planes;k=-l;system〃cls〃;printf〃欢迎进入售票窗口!\n〃;printf/z\n请输入要订票的起飞地点\n〃;scanf〃%s〃,s.BePlace;/*输入要到达的地方*/printf〃\n请输入要订票的降落地点\n〃;scanf〃%s〃,s.EnPlace;printf〃\n请输入要订票的起飞时间\n〃;scanf〃%s〃,s.data;/*输入出发的时间*/for i=0;in;i++/*查找要修改的数据*/if strcmps.BePlace,ti[i].BePlace==0strcmps.EnPlace,ti[i].EnPlace==0strcmps.data,ti[i].data==0{k=i;/*找到要修改的记录*/printf_onek;break;/*调用显示一个记录的函数*/if k--1|printf zz\n\nN0exist!/z;return-1;elsereturn k;void bookint i;system〃cls〃;i=search;ifi!=-l{ifti[i].num=ti[i].maxprintf〃\n该趟航班票已售完!〃;elseti[i].num++;printf〃\n订票成功!\n〃;}elseprintf〃\n该航班不存在!〃;getchar;getchar;/*按任意健*/menu;void backinti,k=-l;structplanes;system〃cls〃;printf〃欢迎进入退票窗口!\n〃;printf〃\n\n输入航班代号〃;scanf〃%s〃,s.ID;for i=0;in;i++{if strcmps.ID,ti[i].ID==0k二i;printf_onek;break;if k==-l|printf/z\n\nN0exist!zz;}else{ti[i].num--;printf〃\n退票成功!\n〃;getchar;getchar;menu;void saveinti,w=l;FILE*fp;system〃cls〃;if fp=fopen ticket.txt〃,〃wt〃=NULLprintf/z\nCannot openfile\n〃;return;for i=0;in;i++if fwriteti[i],sizeofstruct plane,1,fp!=1{printf z/file writeerror\n/z;w=0;ifw==lprintf/zfile saveok!\n〃;fclose fp;getchar;getchar;menu;void menuint n,wl;dosystem cis;/*清屏*/putsz/\t\t\t\t欢迎使用飞机售票管理系统!\n〃;puts〃\t\t*********************.主菜单*********************\n〃;putsz,\t\t\t\tl.输入新航班\n〃;putsz/\t\t\t\t
2.浏览航班\n〃;puts/z\t\t\t\t
3.航班查询\n〃;puts/z\t\t\t\t
4.订票\n〃;puts/z\t\t\t\t
5.退票\n〃;puts〃\t\t\t\t6,保存\n〃;puts,z\t\t\t\t
7.退出\n〃;puts〃\t\t**********************************************\n〃;printf〃请选择数字1-7:[]\b\b〃;scanf〃%d〃,n;ifnl||n7/*对选择的数字作判断*/wl=l;printf/zyour choiceis notbetween1and7,Please inputenter tochoice again:z/;getchar;getchar;else wl=O;}whilewl==l;/*选择功能*/switchn{case1:enter;break;/*输入模块*/case2:browseO;break;/*浏览模块*/case3:menul;break;/*查找模块*/case4:book;break;/*订票模块*/case5:back;break;/*退票模块*/case6:save;break;/*保存模块*/case7:exit0;void mainmenu;计算机与通信学院课程设计评分表课题名称飞机订票系统项目评价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩教师签名_________________日期___________________(注
1.此页附在课程设计报告最后一页;
2.综合成绩按优、良、中、及格和不及格五级评定)
一、设计内容与设计要求
1.设计内容见附录
2.设计要求设计正确,方案合理
1.界面友好,使用方便
2.程序精炼,结构清晰
3.设计报告字以上,含程序设计说明,用户使用说明,源程序清单
4.5000及程序框图上机演示
5.
二、进度安排第一周星期四课题讲解,查阅资料第二周星期一总体设计,详细设计星期二编程,上机调试、修改程序星期三上机调试、完善程序星期四上机调试、完善程序星期五答辩星期六-星期天撰写课程设计报告课程设计报告规范
一、需求分析
1、程序的功能
2、输入输出的要求
二、概要设计
1、程序由哪些模块组成以及一个模块之间的层次结构、模块的调用关系;每个模块的功能
2、课题的总体数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等
三、详细设计
1、采用C语言定义相关的数据类型
2、写出各模块的类C码算法
3、画出函数的调用关系图
四、调试分析以及设计体会
1、测试数据准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果
2、程序调试中遇到的问题以及解决问题的方法
3、课程设计过程经验教训、心得体会
五、使用说明用户使用手册说明如何使用你编写的程序,详细列出每一步的操作步骤
六、书写格式
1、设计报告要求用A4纸打印成册
2、一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22o
3、封面格式如下页
七、附录
1、参考书目
2、源程序清单(带注释)课程设计报告装订顺序封面、任务书、目录正文、评分(A4大小的图纸及程序清单)正文的格式一级标题用2号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22正文的内容:
一、课题的主要功能;
二、课题的功能模块的划分(要求画出模块图);
三、主要功能的实现(至少要有一个主要模块的流程图);
四、程序调试;
五、总结;
六、附件(所有程序的源代码,要求对程序写出必要的注释)正文总字数要求在5000字以上(不含程序源代码)程序课程设计任务书C
一、设计内容与设计要求、设计内容1()、问题描述1假设某航空公司一天有M个航班飞行,通过该系统供不同旅客选择不同的航班以及机票出售等问题⑵、功能要求
1.本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括航班代号、起飞地、目的地、座次定出与否标记、起飞时间等
2.本系统显示这样的菜单⑴输入新航班信息⑵浏览航班信息⑶查找航班信息a、按时间查询b、按地点查询C、返回主菜单⑷订票预约⑸退票要求⑹保存信息7退出系统
3.本系统成功执行菜单的每个信息,选项⑷和⑸将要求额外的输入,并且它们都允许用户收回其输入
4.查找航班信息既可按时间查,也可按目的地查
5.在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它首先从该文件读入数据
3.算法提示
①.数据结构结构体类型数组
②.数据库结构下表构成该系统的基本数据库航班号起飞时间目的地起飞地座次订出与否的标记票价最大载客数量Char Char CharCharint intint
4.测试数据有航班数目M=2目录课程设计文档
一、课程设计题目飞机订票系统;7
二、内容摘要7
三、总体方案的选定7概要设计17详细设计2:8
四、主流程图:10
五、模块流程图11
六、使用说明13
七、调试分析14
八、心得体会15
九、附录源程序清单16课程设计文档
一、课程设计题目飞机订票系统;
二、内容摘要本系统设计主要是根据售票业务的基本流程进行的,一般地说,售票业务包括显示子系统、保存子系统、订票子系统、查询子系统、退票子系统等五个方面该系统是一个简单的飞机订票系统,能够方便地查询所需信息其功能包括信息录入、信息显示、信息浏览、信息保存及查询等
三、总体方案的选定在了解该系统的功能后,可以通过运用函数、编译语句、数据类型来实现由于数据多,数据结构相似的特点,自然地想到用数组实现数据的存储,且总体数据结构应用文件类型的数据文件类型为结构体数据,数据库结构用文件来实现【概要设计】一.程序的模块组成及各个函数的功能1程序的模块组成主函数main;输出数据函数printf;读取数据函数scanf;菜单显示函数menu;1订票函数void book;2退票函数void back;3查询数据函数:search;自定义清屏函数system aclsw;自定义输入函数input;自定义显示记录函数void printf_one;字符输入函数getchar;2各函数的主要功能输出数据函数随时输出数据;读取数据函数读取输入的数据信息;显示菜单函数显示可供选择的主菜单;订票函数供乘客定飞机票,显示航班票是否售完择;退票函数满足乘客的退票要求查询数据函数显示所有输入的航班信息;输入数据函数随时保存输入的数据;自定义清屏函数清除前面运行留下的信息;自定义显示记录函数查询时显示前面输入的信息;字符输入函数从终端输入一个字符,遇车键返回;二.程序中的抽象数据类型的定义机票的状态结构机票{机票票价机票数目;航班信息;航线信息;使用时间;}【详细设计】一.相关的数据类型机票管理结构数组typedef structplanechar ID
[10];/*航班代号*/char BePlace
[10];/*飞机起飞地点*/char EnPlace
[10];/*飞机降落终点落char data
[15];/*飞机起飞时间*/int max;/*飞机最大乘客人数*/int price;/*飞机票价*/int num;/*飞机已售票数*/二.函数间的调用关系图如下:。
个人认证
优秀文档
获得点赞 0