您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 飞机订票系统课程设计报告
飞机订票系统课程设计报告指导老师:班级:学生姓名:学号:完成日期:计算机科学与技术系飞机订票系统课程设计报告一、系统分析。1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。1.2飞机订票系统简易图二、系统设计2.1总体设计(主要功能)本程序包含六大主要模块①添加信息模块;②浏览信息模块;③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模块。整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。输入模块,使用分条输入,以减少错误率并方便操作。浏览,查询及排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。订,退票模块调用查询模块实现其功能。2.2软件、硬件环境软件环境VC2009硬件环境处理器Intel(R)Core(TM)i5-3210MCPU@2.50GHz2.50GHz;显卡GTX650。内存4.0GB操作系统Windows72.3主要数据结构和程序的关系说明主要数据结构是结构体structhbxx//定义结构体数组,航班信息{inthbh;//定义航班号charqd[20];//起点站charzd[20];//终点站floatpj;//票价intsl;//机票数量intdcp;//订票标志量}fj[N];2.4界面设计本程序开始运行的界面,共7个选项,简洁而大方。接下来是添加信息的界面。采用分条添加,清晰而明朗。浏览信息的界面,将所有航班信息显示在屏幕上。查询航班信息界面,根据用户输入的航班号,显示其航班信息。便于用户使用,查找。航班排序界面,将所有航班根据航班号进行排序,可由用户选择是由大到小,还是由小到大。订票界面,由用户输入需要订票的航班号,在进行订票操作。退票界面。2.5函数模块设计(函数功能说明和入口参数的说明)voidxxtj();//信息添加的函数voidxianshi();//显示航班信息voidchazhao();//查找航班信息voiddingpiao();//订票业务voidtuipiao();//退票业务voidduqu();//读取文件voidbaocun();//保存文件voidscgs();//输出格式函数voidpaixu();//航班排序voidchushihua();//系统初始化voidjianli();//建立数据文件voidpaixu1();//按航班号从小到大排voidpaixu2();//从大到小三、系统实现主要代码//飞机订票系统//头文件#includestdio.h//标准输入,输出函数#includestring.h//包含字符串处理的头文件#includeprocess.h//包含access的头文件,用于系统初始化#defineN9999//定义最大航班数#definePRINT%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//宏定义输出格式▲structhbxx//定义结构体数组,航班信息{inthbh;//定义航班号charqd[20];//起点站charzd[20];//终点站floatpj;//票价intsl;//机票数量intdcp;//订票标志量}fj[N];inti,m=0;//定义全局变量charpd[10]=y;//函数声明voidxxtj();//信息添加的函数——芦杰voidxianshi();//显示航班信息——祁海鹏voidchazhao();//查找航班信息——祁海鹏voiddingpiao();//订票业务——李平voidtuipiao();//退票业务——李平voidduqu();//读取文件——蔡晓宏voidbaocun();//保存文件——蔡晓宏voidscgs();//输出格式函数——祁海鹏voidpaixu();//航班排序——李平voidchushihua();//系统初始化——芦杰voidjianli();//建立数据文件——芦杰voidpaixu1();//按航班号从小到大排——蔡晓宏voidpaixu2();//从大到小——蔡晓宏//主函数voidmain()//主函数———李平{intj;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\t\t\t6.退票业务。\n\t\t\t0.退出。\n===============================================================================\n);printf(请在0-6中选择以回车键结束:);scanf(%d,&j);switch(j){case1:xxtj();break;//调用信息添加函数case2:xianshi();break;//调用显示模块case3:chazhao();break;//调用查找模块case4:paixu();break;//调用排序函数case5:dingpiao();break;//调用订票模块case6:tuipiao();break;//调用退票模块case0:{baocun();printf(谢谢使用,再见!\n);}break;default:printf(输入有误!\n);break;}}while(j!=0);//判断是否调用其他函数}voidchushihua()//定义系统初始化函数——卢杰{if(access(fjdpxt.dat,0)){jianli();}else{duqu();}}voidjianli()//定义建立数据文件函数——卢杰{FILE*fp;if((fp=fopen(fjdpxt.dat,wb))==NULL)//打印文件判断是否出错{printf(创建文件失败!);//打印出错提示getchar();return;}printf(请依次输出航班信息(以回车键结束):\n);//打印提示信息printf(-----------------------------------------------------------------------------\n);for(i=0;iN;i++){printf(请输入航班号:);scanf(%d,&fj[i].hbh);printf(请输入起始站:);scanf(%s,fj[i].qd);printf(请输入终点站:);scanf(%s,fj[i].zd);printf(请输入票价:);scanf(%f,&fj[i].pj);printf(请输入机票数:);scanf(%d,&fj[i].sl);fwrite(&fj[i],sizeof(structhbxx),1,fp);m++;printf(添加完毕,是否继续添加?请键入y或n以回车键结束:);scanf(%s,pd);if(strcmp(pd,y)!=0)//判断是否继续添加航班信息{fclose(fp);//关闭文件return;}}}voidduqu()//定义读取文件函数——蔡晓宏{FILE*fp;if((fp=fopen(fjdpxt.dat,r))==NULL){printf(创建文件失败!);getchar();return;}i=0;while(!feof(fp))//判断是否遇到文件结束,fread(&fj[i],sizeof(structhbxx),1,fp);//逐块读取数据i++;m++;//计算存在的航班数}m--;fclose(fp);}voidbaocun()//定义保存函数——蔡晓宏{FILE*fp;if((fp=fopen(fjdpxt.dat,wb))==NULL){printf(创建文件失败!);getchar();return;}for(i=0;im;i++)//逐块保存数据fwrite(&fj[i],sizeof(structhbxx),1,fp);fclose(fp);}voidxxtj()//定义添加航班信息函数——卢杰{do{printf(请依次输入您要添加的航班信息(以回车键结束):\n);//打印提示信息printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\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++;printf(添加完毕,是否继续添加?请键入y或者n以回车键结束:);scanf(%s,pd);}while(!strcmp(pd,y));//判断是否继续添加}voidscgs()//定义输出格式——祁海鹏{printf(航班号\t\t起始站\t\t终点站\t\t价格\t\t机票数\n);//信息标题for(i=0;im;i++)printf(PRINT);//打印出信息}voidxianshi()//定义显示航班信息函数——祁海鹏{printf(\n目前我们有如下航班:\n);scgs();//调用输出格式函数printf(\n请按回车键返回上层菜单);getchar();getchar();}voidchazhao()//定义查询函数——祁海鹏{intn;do{printf(\n请输入航班号:);scanf(%d,&n);//输入查询的航班号for(i=0;im;i++){if(fj[i].hbh==n)//按航班号判定输出条件{printf(\n您所查找的航班信息为:\n);printf(航班号\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));//判断是否重新查找}voiddingpiao()//定义订票业务函数——李平{chara[10]=y;do{chazhao();//调用查询模块if(strcmp(pd,y)){printf(对不起!没有找到您所需要的航班,所以不能订票。\n);printf(\n请按回车键返回上层菜单);getchar();getchar();strcpy(pd,y);break;}do{printf(请输入您要订的机票数(以回车结束):);scanf(%d,&fj[i].dcp);//输入所定机票数if(fj[i].dcp=0)//判断机票数是否出错{printf(输
本文标题:飞机订票系统课程设计报告
链接地址:https://www.777doc.com/doc-5486721 .html