




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<string.h>#include<process.h>#include<io.h>#include<stdlib.h>#include<windows.h>#include<conio.h>#defineN9999标准输入、输出头文件包含字符串函数处理头文件包含access函数的头文件SdefinePRINT定义最多的航班数H%dtt%stt%sttn,si.num,stij.startslil.ovecslij.timeli.count宏定义输出格式str
2、uctair(intnum;charstart20;charover20;chartime10;intcount;sN;inti/a,m=0;charii10;voidadd();voidprint();voidsearch();voiddingpiao();voidtuipiao();voidread();voidsave();voidoutput();voidpaixu();voidchushihua();voidbuild();voidpaixul();voidpaixu2();inthead();intmain()主函数(intj;system(HcolorbOn);定义结构体数组定义
3、航班号航班起始站终点站飞行时间机票数量定义全局变量函数声明增加航班信息函数显示航班信息查找航班信息订票业务退票读取文件保存文件输出格式航班排序系统初始化建立数据文件按航班号从小到大排序从大到小进入订票系统chushihuaf);系统初始化判断是否存在原始数据文件system("cls");head();打印出系统主界面system("cls");doprintf(=");pr1ntf(“l.增加航班信息n“”t2.浏览航班信息n”"tt3渣找航班信息(按航班号)ttn“"ttt4.航班排序(按航班号)n”"tttt
4、5.订票业务n”ttttt6.退票业务n”“ttttttO.退出n“);printf("=");printf("请在0-6中选择以回车键结束:”);scanf(”%d”,&j);switch(j)case1:add();system("cls");调用增加航班函数break;case2:print();system("cls");调用显示模块break;case3:search();system("cls");调用查找模块break;case4:paixu();system("cls&q
5、uot;);调用排序函数break;case5:dingpiao();system("cls");调用订票模块break;case6:tuipiao();system("cls");调用退票模块break;case0:退出系统save();system("cls");printf("nnnttttnnt谢谢使用,再见!");printf("nnnnnnnnnnnnn");break;)while(j!=O);判断是否调用其他函数voidchushihua()定义系统初始化函数)if(access
6、("hangban.dat",O)build();elseread();voidbuild()定义建立数据文件函数(FILE*fp;定义文件指针if(fp=fopen("hangban.dat","wb")=NULL)打开文件并判定是否出错printf(“创建文件失败!");打印出错提示getchar();return;printf("请依次输入航班信息(以回车键结束):n");打印提示信息printf("n")jfor(i=0;i<N;i+)printf(“请输入航班号:&qu
7、ot;);scanf("%d",&si.num);输入航班号printf("请输入起始站:");scanf("%s",si.start);输入起始站printf(“请输入终点站:");scanf("%s"zsi.over);输入终点站printf(“请输入时间(星期几):");scanf("%s",si.time);输入时间printf(“请输入机票数:");scanf("%d",&si.count);输入机票数fwrite(&a
8、mp;si,sizeof(structair),l,fp);m+;printf("添加完毕,是否继续添加?请键入y或n以回车键结束门;scanf("%s",ii);if(strcmp(ii,”y")!=O)判断是否继续添加航班信息关闭文件fclose(fp);return;voidread()定义读取文件函数(FILE*fp;if(fp=fopen("hangban.dat"/"r")=NULL)printf("创建文件失败!");getchar();return;i=0;while(!feof
9、(fp)fread(&sizsizeof(structair),l,fp);逐块读取数据i+;m+;计算存在航班数m-;fclose(fp);printf("请稍候,正在初始化)for(a=0;a<3;a+)printf(".");Sleep(600);)printf("n");)voidsave()定义保存函数(FILE*fp;if(fp=fopen("hangban.dat"/"wb")=NULL)printf("创建文件失败!");getchar();return;
10、for(i=0;i<m;i+)逐块保存数据fwrite(&si,sizeof(structair),l,fp);fclose(fp);printf("正在保存数据并退出)for(a=0;a<3;a+)printff'.");Sleep(600);voidadd()定义增加航班信息函数(doprintf("请依次输入您要增加的航班信息(以回车键结束):n");打印提示信息printff''n");printf(“请输入航班号:");scanf("%d",&sm.nu
11、m);读取航班号printf(”请输入起始站:");scanf("%s",sm.start);读取起始站printf(“请输入终点站:");scanf(''%s",sm.ovefj;读取终点站printf(“请输入时间(星期几):");scanf("%s",sm.time);读取时间printf(“请输入机票数:");scanf("%d",&sm.count);读取机票数m+;printf("添加完毕,是否继续添加?请键入y或n以回车健结束门;scan
12、f("%s",ii);while(!strcmp(ii,"y");判断是否继续添加printf("正在保存,请稍候”);for(a=0;a<5;a+)printf(".");Sleep(600);)printf("n");)voidoutput()定义输出格式函数(printf("航班号tt起始站tt终点站tt时间tt机票数n");信息标题for(i=0;i<m;i+)printf(PRINT);打印出信息voidprint()定义显示航班信息函数(printf("
13、;正在加载,请稍候,for(a=0;a<5;a+)printf(".");Sleep(400);)printf("n");system("cls");printf("n目前我们有如下航班:nn");outputO;调用输出格式函数printf("n请按回车键返回上层菜单");getchar();getcharf);voidsearch()定义查询函数(intn;do(print-n请输入航班号:");scanf("%d",&n);输入查询的航班号pri
14、ntf("正在查询”);for(a=0;a<5;a+)(printff'.");Sleep(400);)printf("n");for(i=0;i<m;i+)if(si.num=n)按航班号判定输出条件printf("n您所查找的航班信息为:n");printf("航班号tt起始站tt终点站tt时间tt机票数nn");printf(PRINT);显示信息printf("n查询完毕,按回车键继续");getchar();getchar();return;printf("
15、;n对不起,没有您需要的信息!n");printf("是否重新查找?请键入y或n以回车键结束");scanf(,%s,Ji);2hileastrcmpOiJy");判定是否重新查找voiddingpiao()定义订票业务函数(intn,x;chara10="y";dosearch。;调用查询模块if(!strcmp(ii/1,n,1)printf("对不起!没有找到您所需要的航班,所以不能订票。n");未查找到所需航班pintf("n请按回车键返回上层菜单");getchar();getchar
16、();strcpy(ii;'n");break;printf(“请输入您要订的机票数(以回车键结束):");scanf("%d'&n);输入所订机票数printf("请稍候,正在订票)for(x=0;x<3;x+)(printf(".");Sleep(600);printfC'Xn1');if(n<=0)判定机票数是否出错printf("输入错误!至少需订1张机票。n");)elseif(si.count=0)判定机票是否售完printf("对不起,你所
17、选择的航班的机票已售完!n“);break;)elseif(si.count!=0&&si.count>=n)判定机票数是否大于等于订票数si.count=si.count-n;printf("订票成功!");break;)elseif(si.count<n)判定机票数是否小于订票数printf("对不起,你所选择的航班只剩d张机票n",si.count);printf("是否需要重新输入机票数?n请输入y或n以回车键结束:丁判定是否重新输入订票数scanf("%s",a);printf(&quo
18、t;请稍候,正在订票”);for(x=0;x<3;x+)(printf(".");Sleep(600);)printf("n");)while(!strcmp(az"y");printf("是否需要订其他航班的机票?n请输入y或n以回车键结束:");scanf("%s",a);while(!strcmp(a;'y");判定是否继续订票)voidtuipiao()定义退票函数(intn,x;chara10;dosearch();调用杳询函数if(!strcmp(iiz&qu
19、ot;n")printf("对不起!没有找到您所需要的航班,所以不能退票。n");printf("n请按回车键返回上层菜单");getchar();getchar();strcpy(ii;'n");break;)printf(“请输入您要退的机票数目:");scanf("%d",&n);输入所退票数printf("请稍候,正在退票”);for(x=0;x<3;x+)printf(".");Sleep(600);)printf("n")
20、;if(n<=0)判定票数是否有效printf("输入错误!至少需退1张机票。");elsesi.count=si.count+n;printf("退票成功!");)printf("是否继续?请键入y或n以回车键结束:");判定是否继续退票scanf("%s",a);while(!strcmp(a;'y");判定并跳出循环void paixu()定义排序函数intn;pjntf(un*printf(“l.按航班号从小到大排序n”“t2.按航班号从大到小排序n“);printf(”*llj.p
21、rintf(“请在1-2中选择以回车键结束:scanf("%d”,&n); switch(n)输入排序方式casel:paixul();调用从小到大排序函数break;case2:paixu2();调用从大到小排序函数break;printf("排序后的航班信息为:n“);outputO;显示排序后航班信息printf("n请按回车键返回上层菜单");getchar();getchar();/*for(a=0;a<5;a+)printf(".");Sleep(400);)printf("n");*/)voidpaixul()定义从小到大排序函数(intkJ;structairt;for(i=0;i<m;i+)选择法排序k=i;for(j=i+l;j<m;j+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政工程实践中的试题及答案
- 提升考试通过率的中级经济师试题及答案
- 2025年经济法概论考试复习方法探讨与试题及答案
- 2025年经济法考试紧迫感与策略试题及答案
- 经济法考试章节试题及答案
- 2025网络广告代理合同
- 工程项目管理经典试题及答案解析
- 水利水电工程的规划设计研究的试题及答案
- 公共关系学中的事件管理试题与答案
- 2025市政工程考试复习思路与试题及答案
- 01金融机构概述幻灯片资料
- 建筑施工企业生产安全综合应急救援预案
- 2024年智慧风电运维技术技能竞赛理论试题库(含答案)
- 房地产质保期内《维修管理办法》
- 施工安全风险分级管控和隐患排查治理监理工作制度
- 【MOOC】房地产管理-华中科技大学 中国大学慕课MOOC答案
- 退休对女性职工抑郁的影响研究
- 设备润滑保养制度(4篇)
- 肝脓肿诊断与治疗
- 2024年药理学阿司匹林课件:全面解析阿司匹林的临床应用
- 渤海银行借款合同模板
评论
0/150
提交评论