C语言课程设计飞机订票系统设计.doc
《C语言课程设计飞机订票系统设计.doc》由会员分享,可在线阅读,更多相关《C语言课程设计飞机订票系统设计.doc(22页珍藏版)》请在沃文网上搜索。
1、目 录课程设计评语2目 录3一课程论文题目4二程序设计思路4三详细设计5四程序代码12五程序运行结果19六编程中遇到的困难及解决方法、心得体会23七致谢23一、课程论文题目:飞机订票系统【要求】假定某名航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额。试设计一民航订票系统,能提供下列服务。(1) 航班信息录入功能(航班信息用文件保存)。(2) 航班信息浏览功能。(3) 查询航线:(至少一种查询方式)。 按航班号查询。 按起点站查询。 按终点站查询。 按飞行时间查询。二、程序设计思路【需求分析】航班信息用文件保存:航班信息浏览功能需要
2、提供显示操作:要查询航线需要提供查找功能,可提供按照航班号、起点站、终点站和飞行时间查询;另外要提供键盘式选择菜单以实现功能选择。 根据需求分析,可将这个系统的设计分为如下五个模块:输入航班信息,保存航班信息,浏览航班信息,查询航班信息,退出。飞机订票系统输入航班信息保存航班信息浏览航班信息查询航班信息退出三、详细设计1.结构体设计 建立航班结构体,结构体成员包括航班号、起点站、终点站和飞行时间(星期几),剩余机票数。struct air /定义结构体数组int num;/定义航班号char start20;/航班起始站char over20;/终点站char time10;/飞行时间int
3、count;/机票数量sN; /*sN中每个数组元素依次对应一个航班信息*/注意 sN中的N为航班个数,程序中采用宏定义的方式,可以随时在源程序宏定义中改。本程序宏定义#define N 1000.2.主函数显示一系列功能选项根据N的值调用各功能模块函数YES 输入N,判断N是否是0-3NO主要程序:void main()/主函数int j; chushihua();/系统初始化判断是否存在原始数据文件printf( -欢迎使用地大飞机订票系统-n);/打印出系统主界面do printf(= ); printf(1.增加航班信息nn 2.浏览航班信息nn 3.查找航班信息nn 0.退出nn);
4、printf(= ); printf(请在0-3中选择以回车键结束:nn);scanf(%d,&j);switch(j)case 1: add();/调用增加航班函数break;case 2:print();/调用显示模块break;case 3:search();/调用查找模块break;case 0:/退出系统break;while(j!=0); /判断是否调用其他函数 printf(谢谢使用,再见! ); 3.各功能模块设计(1)输入、保存航班信息模块(包括初始信息和后增加新信息)调用建立数据文件函数增加航班信息函数,输入初始航班信息;调用保存函数save()输出航班信息n(输入完毕)y
5、(继续输入)主要程序:void chushihua()/定义系统初始化函数int access(const char *filenpath, int mode); if(access(hangban.dat,0)build();elseread();void build()/定义建立数据文件函数FILE *fp;/定义文件指针if(fp=fopen(hangban.dat,wb)=NULL)/打开文件并判定是否出错 printf(创建文件失败! );/打印出错提示getchar();return;printf(请依次输入航班信息(以回车键结束):n); /打印提示信息printf(- n);f
6、or(i=0;iN;i+)printf(请输入航班号: ); scanf(%d,&si.num);/输入航班号printf(请输入起始站: );scanf(%s,si.start);/输入起始站printf(请输入终点站: );scanf(%s,si.over);/输入终点站printf(请输入时间(星期几): );scanf(%s,si.time);/输入时间printf(请输入机票数: );scanf(%d,&si.count);/输入机票数fwrite(&si,sizeof(struct air),1,fp);m+;printf(添加完毕,是否继续添加?请键入y或n以回车键结束:);sc
7、anf(%s,ii);if(strcmp(ii,y)!=0)/判断是否继续添加航班信息fclose(fp);/关闭文件return;void read()/定义读取文件函数FILE *fp;if(fp=fopen(hangban.dat,r)=NULL)printf(创建文件失败! );getchar();return;i=0;while(!feof(fp)fread(&si,sizeof(struct air),1,fp);/逐块读取数据i+;m+;/计算存在航班数m-;fclose(fp);void save()/定义保存函数FILE *fp;if(fp=fopen(hangban.dat
8、,wb)=NULL) printf(创建文件失败! );getchar();return;for(i=0;im;i+)/逐块保存数据fwrite(&si,sizeof(struct air),1,fp);fclose(fp);void add()/定义增加航班信息函数doprintf(请依次输入您要增加的航班信息(以回车键结束): n); /打印提示信息printf(- n);printf(请输入航班号: ); scanf(%d,&sm.num);/读取航班号printf(请输入起始站: );scanf(%s,sm.start);/读取起始站printf(请输入终点站: );scanf(%s,
9、sm.over);/读取终点站printf(请输入时间: );scanf(%s,sm.time);/读取时间printf(请输入机票数: );scanf(%d,&sm.count);/读取机票数m+;printf(添加完毕,是否继续添加?请键入y或n以回车键结束:);scanf(%s,ii);while(!strcmp(ii,y);/判断是否继续添加void output()/定义输出格式函数printf(航班号tt起始站tt终点站tt时间tt机票数n);/信息标题 for(i=0;im;i+)printf(PRINT);/打印出信息void print()/定义显示航班信息函数printf(
10、n目前我们有如下航班:n);output();/调用输出格式函数printf(n请按回车键返回上层菜单 );getchar();getchar();(2)浏览航班信息模块打开文件,并判断是否出错输出出错提示从文件中读取信息关闭文件主要程序:void read()/定义读取文件函数FILE *fp;if(fp=fopen(hangban.dat,r)=NULL)printf(创建文件失败! );getchar();return;i=0;while(!feof(fp)fread(&si,sizeof(struct air),1,fp);/逐块读取数据i+;m+;/计算存在航班数m-;fclose(
11、fp);void output()/定义输出格式函数printf(航班号tt起始站tt终点站tt时间tt机票数n);/信息标题 for(i=0;im;i+)printf(PRINT);/打印出信息void print()/定义显示航班信息函数printf(n目前我们有如下航班:n);output();/调用输出格式函数printf(n请按回车键返回上层菜单 );getchar();getchar();(3)航线查询模块显示查询方式菜单选择查找方式显示查询结果输入要求信息是否继续查找退出NY主要程序:void search()/定义查询函数char name120;char name220;ch
12、ar ii10;char ctime10;int n,no;doprintf(请选择一种你想要查找的方式:nn);printf(1.根据航班号查找nn2.根据终点站查找nn3.根据起点站查找nn4.根据飞行时间查找nn0.返回nn);printf(请在0-4之间选择一个整数:nn);scanf(%d,&n);if(n=0)break;switch(n)case 1: printf(请输入航班号:n); scanf(%d,&no); break;case 2:printf(请输入终点站:n);scanf(%s,name2);break;case 3:printf(请输入起点站:n); scanf
13、(%s,name1);break;case 4:printf(请输入飞行时间:n);scanf(%s,ctime);break;read();for(i=0;im;i+)if(strcmp(si.start,name1)=0|strcmp(si.over,name2)=0)printf(n成功查到了航班信息!n);printf(航班号tt起点站tt终点站tt时间tt票数n);printf(PRINT); printf(n查询完毕,按回车键继续); getchar();getchar();return;if(si.num=no)printf(n成功查到了航班信息!n); printf(航班号tt
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 飞机 订票 系统 设计
