已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#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 model10;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(NOD); 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);/*输入*/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请输入班期:);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.number,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);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);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(到达时间:%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(起点站:%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(请输入查找航班的终点站:); 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-next; 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); 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 finde(NOD *head) NOD *p; char arrivingtime10; printf(请输入查找航班的到达时间:); scanf(%s,arrivingtime); p=head; while (p!=NULL) if(strcmp(arrivingtime,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 *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;int 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州双龙航空港开发投资(集团)有限公司第一批招聘12人笔试考试备考题库及答案解析
- 2025贵州黔南州长顺县县直机关事业单位面向全县考调工作人员19人考试笔试模拟试题及答案解析
- 停送电实习总结
- 天然气员工实习报告
- 2026福建省面向南昌大学选调生选拔工作考试笔试备考试题及答案解析
- 2025湖北阳新莲花湖国家湿地公园管理中心选聘工作人员1人笔试考试备考题库及答案解析
- 2025安徽安庆市潜山市立医院招聘周转池编制卫生专业技术人员8人笔试考试备考题库及答案解析
- 2025贵州机电职业技术学院引进高技能人才2人考试笔试参考题库附答案解析
- 2025年西安市长安区第三中学教师招聘笔试考试参考试题及答案解析
- 2025年新能源行业网络安全防护与数据加密技术应用
- 雨课堂学堂在线学堂云《爱情美学(西安思源学院)》单元测试考核答案
- 环卫年终述职报告
- 春江花月夜诵读课件
- 热管理材料导热凝胶
- 从贞观之治到开元盛世
- 3.2 与世界深度互动 课件 2024-2025学年统编版道德与法治九年级下册
- 平均数与方差(5)课件北师大版数学八年级上册
- 自动控制原理课件 1.1 自动控制基本概念
- 无人机装调检修课件
- 2025西安外国语大学附属学校鄠邑区实验小学教师招聘笔试考试参考试题及答案解析
- 《新能源汽车控制技术》课件 模块四任务3 高压互锁回路测试
评论
0/150
提交评论