




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>/标准输入、输出头文件#include<string.h>/包含字符串函数处理头文件#include<process.h>/包含access函数的头文件#include<io.h>#include<stdlib.h>#include<windows.h>#include<conio.h>#define N 9999/定义最多的航班数#define PRINT "%dtt%stt%stt星期%stt%dn ",si.num,si.start,si.over,s
2、i.time,si.count /宏定义输出格式struct air /定义结构体数组int num;/定义航班号char start20;/航班起始站char over20;/终点站char time10;/飞行时间int count;/机票数量sN;int i,a,m=0;/定义全局变量char ii10;void add();/函数声明增加航班信息函数void print(); /显示航班信息void search();/查找航班信息void dingpiao();/订票业务void tuipiao();/退票void read();/读取文件void save();/保存文件void
3、output();/输出格式void paixu();/航班排序void chushihua();/系统初始化void build();/建立数据文件void paixu1();/按航班号从小到大排序void paixu2();/从大到小int head ();/进入订票系统 int main()/主函数int j; system("color b0");chushihua();/系统初始化判断是否存在原始数据文件system("cls"); head();/打印出系统主界面system("cls");do printf("
4、= "); printf("1.增加航班信息n" "t2.浏览航班信息n" "tt3.查找航班信息(按航班号)ttn" "ttt4.航班排序(按航班号)n" "tttt5.订票业务n" "ttttt6.退票业务n" "tttttt0.退出n");printf("= "); printf("请在0-6中选择以回车键结束: ");scanf("%d",&j);switch(j)cas
5、e 1: add();system("cls");/调用增加航班函数break;case 2:print();system("cls");/调用显示模块break;case 3:search();system("cls");/调用查找模块break;case 4:paixu(); system("cls");/调用排序函数break;case 5:dingpiao();system("cls");/调用订票模块break;case 6:tuipiao();system("cls&quo
6、t;);/调用退票模块break; case 0:/退出系统save();system("cls");printf("nnnttttnnt谢谢使用,再见! ");printf("nnnnnnnnnnnnn");break;while(j!=0);/判断是否调用其他函数 void chushihua()/定义系统初始化函数if(access("hangban.dat",0)build();elseread();void build()/定义建立数据文件函数FILE *fp;/定义文件指针if(fp=fopen(&qu
7、ot;hangban.dat","wb")=NULL)/打开文件并判定是否出错 printf("创建文件失败! ");/打印出错提示getchar();return;printf("请依次输入航班信息(以回车键结束):n"); /打印提示信息printf("- n");for(i=0;i<N;i+)printf("请输入航班号: "); scanf("%d",&si.num);/输入航班号printf("请输入起始站: ");sca
8、nf("%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("添加完毕,是
9、否继续添加?请键入y或n以回车键结束:");scanf("%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
10、),1,fp);/逐块读取数据i+;m+;/计算存在航班数m-;fclose(fp);printf("请稍候,正在初始化");for(a=0;a<3;a+)printf(".");Sleep(600);printf("n");void save()/定义保存函数FILE *fp;if(fp=fopen("hangban.dat","wb")=NULL) printf("创建文件失败! ");getchar();return;for(i=0;i<m;i+)/逐块保存
11、数据fwrite(&si,sizeof(struct air),1,fp);fclose(fp);printf("正在保存数据并退出");for(a=0;a<3;a+)printf(".");Sleep(600);printf("n");printf("n");void add()/定义增加航班信息函数doprintf("请依次输入您要增加的航班信息(以回车键结束): n"); /打印提示信息printf("- n");printf("请输入航班号:
12、"); scanf("%d",&sm.num);/读取航班号printf("请输入起始站: ");scanf("%s",sm.start);/读取起始站printf("请输入终点站: ");scanf("%s",sm.over);/读取终点站printf("请输入时间(星期几): ");scanf("%s",sm.time);/读取时间printf("请输入机票数: ");scanf("%d",&a
13、mp;sm.count);/读取机票数m+;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);while(!strcmp(ii,"y");/判断是否继续添加printf("正在保存,请稍候");for(a=0;a<5;a+)printf(".");Sleep(600);printf("n");void output()/定义输出格式函数printf("航班号tt起始站tt终点站tt时间tt机票数n"
14、);/信息标题 for(i=0;i<m;i+)printf(PRINT);/打印出信息void print()/定义显示航班信息函数printf("正在加载,请稍候");for(a=0;a<5;a+)printf(".");Sleep(400);printf("n");system("cls");printf("n目前我们有如下航班:nn");output();/调用输出格式函数printf("n请按回车键返回上层菜单 ");getchar();getchar()
15、; void search()/定义查询函数int n;doprintf("n请输入航班号: ");scanf("%d",&n);/输入查询的航班号printf("正在查询");for(a=0;a<5;a+)printf(".");Sleep(400);printf("n");for(i=0;i<m;i+) if(si.num=n)/按航班号判定输出条件 printf("n您所查找的航班信息为:n ");printf("航班号tt起始站tt终点站
16、tt时间tt机票数 nn");printf(PRINT);/显示信息 printf("n查询完毕,按回车键继续");getchar();getchar();return;printf("n对不起,没有您需要的信息!n ");printf("是否重新查找?请键入y或n以回车键结束 ");scanf("%s",ii);while(!strcmp(ii,"y");/判定是否重新查找 void dingpiao()/定义订票业务函数int n,x;char a10="y"d
17、osearch();/调用查询模块if(!strcmp(ii,"n")printf("对不起!没有找到您所需要的航班,所以不能订票。n");/未查找到所需航班printf("n请按回车键返回上层菜单 ");getchar();getchar();strcpy(ii,"n");break;doprintf("请输入您要订的机票数(以回车键结束): ");scanf("%d",&n);/输入所订机票数printf("请稍候,正在订票");for(x=0
18、;x<3;x+)printf(".");Sleep(600);printf("n");if(n<=0)/判定机票数是否出错printf("输入错误!至少需订1张机票。n");else if(si.count=0)/判定机票是否售完printf("对不起,你所选择的航班的机票已售完!n");break;else if(si.count!=0&&si.count>=n)/判定机票数是否大于等于订票数si.count=si.count-n;printf("订票成功! "
19、;);break;else if(si.count<n)/判定机票数是否小于订票数 printf("对不起,你所选择的航班只剩 %d张机票n", si.count);printf("是否需要重新输入机票数?n请输入y或n以回车键结束: ");/判定是否重新输入订票数scanf("%s",a);printf("请稍候,正在订票");for(x=0;x<3;x+)printf(".");Sleep(600);printf("n");while(!strcmp(a,&q
20、uot;y");printf("是否需要订其他航班的机票?n请输入y或n以回车键结束: ");scanf("%s",a);while(!strcmp(a,"y");/判定是否继续订票void tuipiao()/定义退票函数int n,x;char a10;dosearch();/调用查询函数if(!strcmp(ii,"n")printf("对不起!没有找到您所需要的航班,所以不能退票。n");printf("n请按回车键返回上层菜单 ");getchar();g
21、etchar();strcpy(ii,"n");break;printf("请输入您要退的机票数目: ");scanf("%d",&n);/输入所退票数printf("请稍候,正在退票");for(x=0;x<3;x+)printf(".");Sleep(600);printf("n");if(n<=0)/判定票数是否有效printf("输入错误!至少需退1张机票。 ");else si.count=si.count+n;printf(
22、"退票成功! ");printf("是否继续? 请键入y或n以回车键结束: ");/判定是否继续退票scanf("%s",a);while(!strcmp(a,"y");/判定并跳出循环void paixu()/定义排序函数int n;printf("n* "); printf("1.按航班号从小到大排序n" "t2.按航班号从大到小排序n");printf("* "); printf("请在1-2中选择以回车键结束: &qu
23、ot;);scanf("%d",&n);/输入排序方式switch(n)case 1:paixu1();/调用从小到大排序函数break;case 2:paixu2();/调用从大到小排序函数break;printf("排序后的航班信息为:n");output();/显示排序后航班信息printf("n请按回车键返回上层菜单 "); getchar();getchar();/*for(a=0;a<5;a+)printf(".");Sleep(400);printf("n");*/ void paixu1()/定义从小到大排序函数int k,j;struct air t;for(i=0;i<m;i+)/选择法排序k=i;f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 相机租赁合同范本英文
- 食堂员工聘用合同范本
- 塑料成品模具合同范本
- 钢管产品订货合同范本
- 企业招聘中介合同范本
- 众筹合同范本
- 武装押运租车合同范本
- 衣柜拆装服务合同范本
- 单位音响租赁合同范本
- 承包羊舍建设合同范本
- 学校开荒保洁服务方案
- 中煤平朔集团有限公司2025校园招聘笔试内容
- DB32-T 3144-2016普通高校单位综合能耗、电耗限额及计算方法
- 劳动合同样本范例2025年
- 文档管理与归档制度
- 《幼儿园教师家庭教育指导能力现状调查》
- 华东师大版八年级下册数学全册教案(2022年12月修订)
- 锁骨骨折内固定术的护理
- 三甲医院临床试验机构-31 V00 专业组备案及考核SOP
- 电缆相关项目实施方案
- 山东畜产品质量安全检测(抽样员)职业技能竞赛理论考试题及答案
评论
0/150
提交评论