资源描述:
《航班查询系统 C语言源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#defineNODstructplane_liststructplane{charnumber[10];charstart[10];chararrive[10];chardate[10];charstarttime[10];chararrivingtime[10];charprice[10];charmodel[10];};NOD{charnumber[10];charstart[10];chararrive[10];chardate[10];charstarttime
2、[10];chararrivingtime[10];charprice[10];charmodel[10];NOD*next;};FILE*fp;/*由文件中的数据生成一个飞机航班的链表,如果文件不存在,则是一个空链表*/NOD*load(charplanename[]){NOD*p,*q,*head;structplaneper;p=(NOD*)malloc(sizeof(NOD));q=head=NULL;if((fp=fopen(planename,"rb"))==NULL)returnhead;else{while(!feof(fp)){if(fread(&per,s
3、izeof(structplane),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.m
4、odel);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("t请输入航班号:");scanf("%s",temp->number);printf("t请输入起点站:");scanf("%s",temp->start);printf("t请输入终点站:");scanf("%s",temp->arrive);printf("t请输入起
5、飞时间:");scanf("%s",temp->starttime);printf("t请输入到达时间:");scanf("%s",temp->arrivingtime);printf("t请输入班期:");scanf("%s",temp->date);printf("t请输入票价:");scanf("%s",temp->price);printf("t请输入航班型号:");scanf("%s",temp->model);head=temp;temp->next=p;returnhead;}/*保存*/voidsave(NOD*head,charfil
6、ename[]){NOD*p;structplaneper;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->
7、arrivingtime);strcpy(per.price,p->price);strcpy(per.model,p->model);if(fwrite(&per,sizeof(structplane),1,fp)!=1){printf("文件不能写入数据,请检查后重新运行.");exit(0);}p=p->next;}fclose(fp);}}/*显示*/voiddisplay(NOD*head){NOD*p;p=head;while(p!=NULL){printf("航班号:%s",p->