版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、int c;doprintf(un航空订票系统E);p泊 世"nt* *材*卅* *材*:冏:*材* *柯打“)printf(nn 1录入航班信息nHprintf(nn 2修改航班信息nHprintf(nn 3查询航班信息nHprintf(nn 4显示航班信息nnprintf(nn 5订票n”);printf(nn 6退票n“);printf(nn 7显示订票信息nHprintf(nn 0退出系统nn));););););p 行口 世 ”nt* 材 * *:枠* *材*粉5 “);printf(H请选择操作:J;scanfC%(T;&c);switch(c)case 1:pr
2、intf(n您选择录入航班信息:岸);insert();break;case 2:printf(n您选择修改航班信息:十);modiiyO;break;case 3:printf(n您选择查询航班信息:nn);query();break;case 4:printf(H您选择显示航班信息:岸);showR);break;case 5:printf(Hbooktk();您选择订票:岸);break;case 6:printf(Hbacktk();您选择退票:nn);break;case 7:printf(H您选择显示订票信息:岸);showb();break;case O:printf(H您选择退
3、出订票系统:nn);break;defoult:lprintfstderr,Select error!nn);while(c !=0);printf(Hn*谢谢您的使用!欢迎您的下次使用榊林十);void booktk() /订票int n,x,y,i;char a10;FILE博,逬b;定义文件指针char name 1 20, ii10;bookticket bN;doprintfC'Xn请输入终点站名称:”);scanR“s”,name 1);/读取终点站if(ip=fopen(nflight.dat,Mrb,')=NULL)fprintf(stderr,"ca
4、n not open theexit(-l);rewind(tp);fbr(i=0;i<N;i+)tread(&airi,sizeobstruct flight),!,Ip);fbr(i=0;i<N;i+)if(strcmp(airi.destination,namel)=0)/按终点站起始站判定输出条件y=i;printf("查找航班信息成功! n“);printf(Hn航班号 起飞时间降落时间起点终点票价折扣余票量n“);printf(PRINT);break;printfC*n没有您需要的信息或查找完毕!是否继续查找?请键入yes或no以回车键结束”);sc
5、anfC%s”,ii);wh ile(strcmp(ii, nye s n)=0);/判定结束fclose(lp);if(fo=fopen(nbt.daf,;,ab,)=NULL)/打开文件,并判定是否出错printf(M创建文件失败! ”);打印出错提示getchar();return;i=0while(fread(&bi,sizeof(struct bookticket), 1 ,ib)= 1) &&ivN)fread(&bi,sizeof(struct bookticket),l,fb);i+;fclose(ib);doprintf(An请输入您要订的机票
6、数以回车键结束:”);scanfC%cT;&n);if(n<0)printfCVi错break;)if(airy.capcity <n)/printf(Hn读取所订机票数请输入有效的机票数!“);判定机票数是否出判定是否出错请输入有效的机票数:-);break;if(airy.capcity!=0 && airy.capcity>=n)/判定是否岀错a iry. capcity =airy.capcity-n; /航班中可载客量减去订票数wr();printf(nn请输入订单号:”);scanftH%dn,&bt.ticketnum);prim
7、f(“n”);printf(M请输入客户姓名:”);scanf(n%sn,bt.clientname);printf(,*nn);printf(M请输入客户证件号:”);scanf(n%su,bt.clientnum);printf(Hnn);bt.total =n;bt.fnum =airy.fnum ;break;printf(*n是否继续? 请输入yes或no以回车键结束:”);/判定是否继续订票scanff'%s”,a);wh ile(!strcmp(a,nyesn);/判定结束if(fo=fopen(,bt.dat,rb+H)=NULL)/打开文件,并判定是否出错printf
8、(M创建文件失败!");/ 打印出错提示getchar();return;i=0;while (i<x)fseek(tb,i*sizeof(struct bookticket),SEEK_SET);fwrite(&bi,sizeof(struet bookticket), 1 ,ib);i+;fseek(fb,OL,SEEK_END);/将输入的写入位置放到文件尾iwrite(&bt,sizeof(bt),l,fbfwrite(&bt,sizeobstruct bookticket),l,fb);printf(nn 订票成功!H);fclose(tb);
9、void backtk()/退票模块int i=0,n;char name MAX;char a MAX;FILE *fb,*tp;if(tb=fopenC,bt.dar,"wb,)=NULL)/打开文件,并判定是否出错printf(H 创建文件失败!”);/ 打印出错提示getchar();return;printf(nn请输入您的姓名:");scanf("%s% *cu,name);rewind(lb);while(!feof(tb) && !ferror(tb)fread(&bt,sizeobstruct bookticket),!,
10、ib);if(!s trcmp(name,bt.clientname) printf(Hn您的订票信息如下:nn);printf(PRINTl);break;else printf(Hnbreak;没有您需要的信息叮;exit(-l);fclose(tb);doprintf(*n请输入您要退的机票数以回车键结束:”);scanf(H%dM,&n);/ if(n<0)printfCVi错break;)if(bt.total<n)printf(Hn读取所订机票数请输入有效的机票数!“);判定机票数是否出请输入有效的机票数:-);break;if(lp=fopen(nflight
11、.datn,Mr+wn)=NULL) tprintf(stderr/'can not open the file!nn);exit(-l);rewind(Ip);for(i=0;i<N;i+)tread(&airi,sizeobstruct flight), 1,ip);if(airi.fnum =bt.lhum )/判定是否出错a iri.capcity =aii*i.capcity+n;break;fclose(lp);wr();printf(*n是否继续?请输入yes或no以回车键结朿:“);/判定是否继续订票scanR”s”,a);判定结束wh ile (!s t
12、rc mp (a, ”ye s");/if(tb=fopen(Hbt.dat,rb+,)=NULL)/打开文件,并判定是否出错printfC* 创建文件失败!”);/getchar();re turn;bt.total =bt.total-n;/个订票信息fseek(tb,OL,SEEK_END);/fwrite(&bt,sizeobstruct bookticket), 1 ,tb);fclose(fb);printf(nn 退票成功!“);打印出错提示这个地方还有点问题,只能保存一将输入的写入位置放到文件尾void wr()/息写入文件FILE *ff;定义文件指针int
13、 i;将航班flight.dat 信if(ff=fopen(Hflight.datn,nwbn)=NULL)/打开文件并判定是否出错printf(H创建文件失败!”); 打印岀错提示getchar();return;向文件写入数据,并判定是否fbr(i=O;i<N;i+)if(fwrite(&airi,sizeof(struet flight),l,ft)=0) /出错printf(H向文件输入数据失败!n n);fclose(tt);/关闭文件void query()/查询航班信息char name 1 20;char ii10;int n,no,i;FILE *lp;dopr
14、intf(u请选择查找方式:nH);/打印查询方式菜单printf(nl.按航班号查找n“);printf(n2.按终点站查找岸);printf(nO 返回 nn);printf(Hn 请在02中选择:”); scanf(”d”,&n);读取查找方式if(n=O) break;switch(n)case 1:printf(u请输入航班号:”);scanfC%d”,&no); 航班号break;case 2:printf(u请输入终点站名称:");scanfitn%sn,name 1);/读取终点站break;if(ip=fopen(,flight.dat,;,rbH)=NULL)tprintf(stderr,ncan not open the file !n"); exit(-l);rewind(tp);for(i=0;i<N;i+)tread(&airi,sizeofi;struct flight),!,ip);fbr(i=O;i<N;i+)按终点站起始站判定输岀条件if(strcmp(airi.destination,name 1 )=0)/printf(M查找航班信息成功!n“);终点printfC1航班号起飞时间降落时间起点票价折扣余票量n“);printf(PRINT);printR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版高楼外墙装饰施工协议版B版
- 2024年新版建筑工程预算定额合同
- 2024年样品机器试用协议模板一
- 2024年标准型搅拌机销售协议范本版B版
- 2024年小学二年级数学(北京版)-总复习:综合练习-1教案
- 2018房地产经纪人考试《业务操作》试题
- 2024年度基础设施建设投资借款协议范本3篇
- 2025年衢州货运从业资格证模拟考试题库下载
- 2025年沧州考货运上岗证试答题
- 单位人事管理制度展示合集
- Axure原型设计基础教学ppt课件(完整版)
- 220t锅炉课程设计 李学玉
- 综合与实践《我们身体上的“尺”》教材分析
- 电动给水泵液力耦合器基础知识ppt课件
- 监理公司各部门职责
- 253种中药材粉末显微鉴别主要特征
- 论辛弃疾词作的愁情主题及其审美价值
- 新形势下我国保险市场营销的现状、问题及对策
- LTE无线网络优化PPT课件
- 动态血压监测在社区高血压患者管理的意义
- 管道中英文对照表
评论
0/150
提交评论