火车站售票查询系统:#includeconio.h#includestdio.h#includestdlib.h#includestring.hintshoudsave=0;intcount1=0,count2=0,mark=0,mark1=0;/*定义存储火车信息的结构体*/structtrain{charnum[10];/*列车号*/charcity[10];/*目的城市*/chartakeoffTime[10];/*发车时间*/charreceiveTime[10];/*到达时间*/intprice;/*票价*/intbookNum;/*票数*/};/*订票人的信息*/structman{charnum[10];/*ID*/charname[10];/*姓名*/intbookNum;/*需求的票数*/};/*定义火车信息链表的结点结构*/typedefstructnode{structtraindata;structnode*next;}Node,*Link;/*定义订票人链表的结点结构*/typedefstructpeople{structmandata;structpeople*next;}bookMan,*bookManLink;/*初始界面*/voidprintInterface(){puts(********************************************************);puts(*Welcometousethesystemofbookingtickets*);puts(********************************************************);puts(*Youcanchoosetheoperation:*);puts(*1:Insertatraininformation*);puts(*2:Inquireatraininformation*);puts(*3:Bookatrainticket*);puts(*4:Updatethetraininformation*);puts(*5:Advicetoyouaboutthetrain*);puts(*6:saveinformationtofile*);puts(*7:quitthesystem*);puts(********************************************************);}/*添加一个火车信息*/voidInsertTraininfo(Linklinkhead){structnode*p,*r,*s;charnum[10];r=linkhead;s=linkhead-next;while(r-next!=NULL)r=r-next;while(1){printf(pleaseinputthenumberofthetrain(0-return));scanf(%s,num);if(strcmp(num,0)==0)break;/*判断是否已经存在*/while(s){if(strcmp(s-data.num,num)==0){printf(thetrain'%s'hasbeenborn!\n,num);return;}s=s-next;}p=(structnode*)malloc(sizeof(structnode));strcpy(p-data.num,num);printf(Inputthecitywherethetrainwillreach:);scanf(%s,p-data.city);printf(Inputthetimewhichthetraintakeoff:);scanf(%s,p-data.takeoffTime);printf(Inputthetimewhichthetrainreceive:);scanf(%s,&p-data.receiveTime);printf(Inputthepriceofticket:);scanf(%d,&p-data.price);printf(Inputthenumberofbookedtickets:);scanf(%d,&p-data.bookNum);p-next=NULL;r-next=p;r=p;shoudsave=1;}}/*打印火车票信息*/voidprintTrainInfo(structnode*p){puts(\nThefollowingistherecordyouwant:);printf(numberoftrain:%s\n,p-data.num);printf(citythetrainwillreach:%s\n,p-data.city);printf(thetimethetraintakeoff:%s\nthetimethetrainreach:%s\n,p-data.takeoffTime,p-data.receiveTime);printf(thepriceoftheticket:%d\n,p-data.price);printf(thenumberofbookedtickets:%d\n,p-data.bookNum);}structnode*Locate1(Linkl,charfindmess[],charnumorcity[]){Node*r;if(strcmp(numorcity,num)==0){r=l-next;while(r){if(strcmp(r-data.num,findmess)==0)returnr;r=r-next;}}elseif(strcmp(numorcity,city)==0){r=l-next;while(r){if(strcmp(r-data.city,findmess)==0)returnr;r=r-next;}}return0;}/*查询火车信息*/voidQueryTrain(Linkl){Node*p;intsel;charstr1[5],str2[10];if(!l-next){printf(Thereisnotanyrecord!);return;}printf(Choosetheway:\n1:accordingtothenumberoftrain;\n2:accordingtothecity:\n);scanf(%d,&sel);if(sel==1){printf(Inputthethenumberoftrain:);scanf(%s,str1);p=Locate1(l,str1,num);if(p){printTrainInfo(p);}else{mark1=1;printf(\nthefilecan'tbefound!);}}elseif(sel==2){printf(Inputthecity:);scanf(%s,str2);p=Locate1(l,str2,city);if(p){printTrainInfo(p);}else{mark1=1;printf(\nthefilecan'tbefound!);}}}/*订票子模块*/voidBookTicket(Linkl,bookManLinkk){Node*r[10],*p;charch,dem;bookMan*v,*h;inti=0,t=0;charstr[10],str1[10],str2[10];v=k;while(v-next!=NULL)v=v-next;printf(Inputthecityyouwanttogo:);scanf(%s,&str);p=l-next;while(p!=NULL){if(strcmp(p-data.city,str)==0){r[i]=p;i++;}p=p-next;}printf(\n\nthenumberofrecordhave%d\n,i);for(t=0;ti;t++)printTrainInfo(r[t]);if(i==0)printf(\n\t\t\tSorry!Can'tfindthetrainforyou!\n);else{printf(\ndoyouwanttobookit?1/0\n);scanf(%d,&ch);if(ch==1){h=(bookMan*)malloc(sizeof(bookMan));printf(Inputyourname:);scanf(%s,&str1);strcpy(h-data.name,str1);printf(Inputyourid:);scanf(%s,&str2);strcpy(h-data.num,str2);printf(InputyourbookNum:);scanf(%d,&dem);h-data.bookNum=dem;h-next=NULL;v-next=h;v=h;printf(\nLucky!youhavebookedaticket!);getch();shoudsave=1;}}}bookMan*Locate2(bookManLinkk,charfindmess[]){bookMan*r;r=k-next;while(r){if(strcmp(r-data.num,findmess)==0){mark=1;returnr;}r=r-next;}return0;}/*修改火车信息*/voidUpdateInfo(Linkl){Node*p;charfindmess[20],ch;if(!l-next){printf(\nthereisn'trecordforyoutomodify!\n);return;}else{QueryTrain(l);if(mark1==0){printf(\nDoyouwanttomodifyit?\n);getchar();scanf(%c,&ch);if(ch=='y');{printf(\nInputthenumberofthetrain:);scanf(%s,findmess);p=Locate1(l,findmess,num);if(p){printf(Inputnewnumberoftrain:);scanf(%s,&p-data.num);printf(Inputnewcitythetrainwillreach:);scanf(%s,&p-data.city);printf(Inputnewtimethetraintakeoff);scanf(%s,&p-data.takeoffTime);printf(Inputnewtimethetrainreach:);scanf(%s,&p-data.receiveTime);printf(Inputnewpriceoftheticket::);scanf(%d,&p-data.price);printf(Inputnewnumberofpeoplewhohavebookedticket:);scanf(%d,&p-data.bookNum);printf(\nmodifyingrecordissucessful!\n);shoudsave=1;}elseprintf(\t\t\tcan'tfindtherecord!);}}elsemark1=0;}}/*系统给用户的提示信息*/voidAdvicedTrains(Linkl){Node*r;charstr[10];intmar=0;r=l-next;printf(Iuputthecityyouwanttogo:);scanf(%s,str);while(r){if(strcmp(r-data.city,str)==0&&r-data.bookNum200){mar=1;printf(\nyoucanselectthefollowi