已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学历史教学专题经验交流课件
- 建筑项目安装工程技术方案模板
- 建筑工程临边防护安全专项施工方案
- 高中美术课堂教学设计案例分析
- 以球为媒:篮球运动重塑高校校园体育文化的多维探究
- 2015年股灾下投资者情绪与股票收益波动的深度剖析及启示
- 医疗质控员岗位职责说明
- 勾股定理基础知识教学方案
- 小学三年级语文修改病句专项练习题
- LL制药装备企业简称2023绩效报告:NGO视角下的企业治理结构优化
- 人民医院心血管外科临床技术操作规范2023版
- 主要组织相容性复合体及其编码分子
- 助理工程师考试试题以及答案
- 送东阳马生序
- 2017年全国大学生数学建模A题
- 2023年专升本计算机题库含答案专升本计算机真题
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- GB/T 16674.1-2016六角法兰面螺栓小系列
- 固定资产清查工作报告
- 住宅项目景观工程施工策划(图文并茂)
- 怀念汪世清先生
评论
0/150
提交评论