版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include #include #include #define NOD struct plane_liststruct planechar number 10;char start10;char arrive 10;char date10;char starttime10;char arrivingtime10;char price10;char model10;NODchar number 10;char start10;char arrive 10;char date10;char starttime10;char arrivingtime10;char price10;char m
2、odel10;NOD*next;FILE *fp;/*由文件中的数据生成一个飞机航班的链表,如果文件不存在,则是一个空链表*/NOD *load(char planename) NOD *p,*q,*head; struct plane per; p=(NOD *)malloc(sizeof(NOD); q=head=NULL; if(fp=fopen(planename,rb)=NULL) return head; else while(!feof(fp) if(fread(&per,sizeof(struct plane),1,fp)=1) p=(NOD *)malloc(sizeof(N
3、OD); strcpy(p-number,per.number); strcpy(p-start,per.start); strcpy(p-arrive,per.arrive); strcpy(p-date,per.date); strcpy(p-starttime,per.starttime); strcpy(p-arrivingtime,per.arrivingtime); strcpy(p-price,per.price); strcpy(p-model,per.model); head=p; p-next=q; q=head; fclose(fp); return(head);/*输入
4、*/NOD *insert(NOD *head) NOD *temp,*p; p=head; temp=(NOD *)malloc(sizeof(NOD);printf(nt请输入航班号:);scanf(%s,temp-number);printf(nt请输入起点站:);scanf(%s,temp-start);printf(nt请输入终点站:);scanf(%s,temp-arrive);printf(nt请输入起飞时间:);scanf(%s,temp-starttime);printf(nt请输入到达时间:);scanf(%s,temp-arrivingtime);printf(nt请输入
5、班期:);scanf(%s,temp-date);printf(nt请输入票价:);scanf(%s,temp-price);printf(nt请输入航班型号:);scanf(%s,temp-model);head=temp;temp-next=p;return head;/*保存*/void save(NOD *head, char filename)NOD*p; struct plane per; if(fp=fopen(filename,wb)=NULL) printf( 文件无法写入); exit(0); else p=head; while(p!=NULL) strcpy(per.n
6、umber,p-number); strcpy(per.start,p-start); strcpy(per.arrive,p-arrive); strcpy(per.date,p-date); strcpy(per.starttime,p-starttime); strcpy(per.arrivingtime,p-arrivingtime); strcpy(per.price,p-price); strcpy(per.model,p-model);if(fwrite(&per,sizeof(struct plane),1,fp)!=1)printf(文件不能写入数据,请检查后重新运行.n);
7、exit(0);p=p-next; fclose(fp); /*显示*/void display(NOD *head) NOD *p; p=head; while(p!=NULL) printf(航班号:%sn,p-number); printf(起点站:%sn,p-start); printf(终点站:%sn,p-arrive); printf(班期:%sn,p-date); printf(起飞时间:%sn,p-starttime);printf(到达时间:%sn,p-arrivingtime); printf(票价:%sn,p-price); printf(飞机型号:%sn,p-model
8、);p=p-next;/*航班号查找*/void finda(NOD *head) NOD *p; char number10; printf(请输入查找航班的编号:); scanf(%s,number); p=head; while (p!=NULL) if(strcmp(number,p-number)=0) printf(航班号:%sn,p-number); printf(起点站:%sn,p-start); printf(终点站:%sn,p-arrive); printf(班期:%sn,p-date); printf(起飞时间:%sn,p-starttime);printf(到达时间:%
9、sn,p-arrivingtime); printf(票价:%sn,p-price); printf(飞机型号:%sn,p-model);break; else p=p-next; if(p=NULL) printf(nt查无此航班n);/*起点站查找*/void findb(NOD *head) NOD *p; char start10; printf(请输入查找航班的起点站:); scanf(%s,start); p=head; while (p!=NULL) if(strcmp(start,p-start)=0) printf(航班号:%sn,p-number); printf(起点站:
10、%sn,p-start); printf(终点站:%sn,p-arrive); printf(班期:%sn,p-date); printf(起飞时间:%sn,p-starttime);printf(到达时间:%sn,p-arrivingtime); printf(票价:%sn,p-price); printf(飞机型号:%sn,p-model);break; else p=p-next; if(p=NULL) printf(nt查无此航班n);/*终点站查找*/void findc(NOD *head) NOD *p; char arrive10; printf(请输入查找航班的终点站:);
11、scanf(%s,arrive); p=head; while (p!=NULL) if(strcmp(arrive,p-arrive)=0) printf(航班号:%sn,p-number); printf(起点站:%sn,p-start); printf(终点站:%sn,p-arrive); printf(班期:%sn,p-date); printf(起飞时间:%sn,p-starttime);printf(到达时间:%sn,p-arrivingtime); printf(票价:%sn,p-price); printf(飞机型号:%sn,p-model);break; else p=p-n
12、ext; if(p=NULL) printf(nt查无此航班n);/*起飞时间查找*/void findd(NOD *head) NOD *p; char starttime10; printf(请输入查找航班的起飞时间:); scanf(%s,starttime); p=head; while (p!=NULL) if(strcmp(starttime,p-starttime)=0) printf(航班号:%sn,p-number); printf(起点站:%sn,p-start); printf(终点站:%sn,p-arrive); printf(班期:%sn,p-date); print
13、f(起飞时间:%sn,p-starttime);printf(到达时间:%sn,p-arrivingtime); printf(票价:%sn,p-price); printf(飞机型号:%sn,p-model);break; else p=p-next; if(p=NULL) printf(nt查无此航班n);/*到达时间查找*/void finde(NOD *head) NOD *p; char arrivingtime10; printf(请输入查找航班的到达时间:); scanf(%s,arrivingtime); p=head; while (p!=NULL) if(strcmp(ar
14、rivingtime,p-arrivingtime)=0) printf(航班号:%sn,p-number); printf(起点站:%sn,p-start); printf(终点站:%sn,p-arrive); printf(班期:%sn,p-date); printf(起飞时间:%sn,p-starttime);printf(到达时间:%sn,p-arrivingtime); printf(票价:%sn,p-price); printf(飞机型号:%sn,p-model);break; else p=p-next; if(p=NULL) printf(nt查无此航班n);/*删除*/NOD
15、 *dele(NOD *head) NOD *p,*q; char number5; printf(:请输入要删除的航班编号); scanf(%s,number); p=q=head; while(p!=NULL) if(strcmp(number,p-number)=0) if(head=p) head=p-next; else q-next=p-next; free(p); break; else q=p; p=p-next; if(p=NULL)printf(nt查无此航班n); return head;/*主函数*/void main() NOD *head;char fnum10;i
16、nt choise;printf(nt欢迎光临航班查询系统:);scanf(%s,fnum);head=load(fnum);while(1) printf(ntt 航班信息检索与查询n); printf(tt*n); printf(tt 1.航班号查找n); printf(tt 2.起点站查找n); printf(tt 3.终点站查找n); printf(tt 4.起飞时间查找n); printf(tt 5.到达时间查找n); printf(tt 6.航班号删除n); printf(tt 7.增加新航班n); printf(tt 8.显示所有航班n); printf(tt 9.存盘并退出n); printf(nt请选择1-9:); scanf(%d,&choise); switch(choise) case 1:finda(head);break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高职表情艺术(舞蹈编排技巧)试题及答案
- 人防工程通风除湿专项施工技术方案
- 人防工程隐蔽工程质量验收方案
- 苹果矮化密植园生产技术方案
- 民宿淡季营收提升专项运营方案
- 跨境数字国际海底沉积物静力触探外籍工程师签证线上静力触探锥尖阻力核验-基于中国近海静力触探观测计划实证
- 跨境脑机接口神经空间工作记忆中跨文化容量限制神经标记-基于国际空间工作记忆神经科学联盟跨文化容量标记校正伦理指南规范分析
- 洁净厂房环氧地坪施工方案
- 建设项目阶段节点管控实施规范
- 海上风电陆上集控中心施工现场照明方案
- 求圆周长应用题目及答案
- 冷库管理标准操作流程的制定与实施
- 成都新都投资集团有限公司招聘笔试题库2025
- 情绪与健康课件图
- 《中医体重管理临床指南》
- 瓦楞板屋顶补漏施工方案
- GB/T 38634.5-2024系统与软件工程软件测试第5部分:关键字驱动测试
- 体育教练入职合同范本
- 广西群安食品有限公司年产2万吨桶装、瓶装饮用水和饮料生产基地建设项目环境影响报告表
- 建筑行业职业病危害预防控制规范
- 《江苏省常州市金坛区茅东矿区水泥用石灰岩矿(关停)闭坑地质报告》评审意见书
评论
0/150
提交评论