C语言程序-火车站售票系统程序_第1页
C语言程序-火车站售票系统程序_第2页
C语言程序-火车站售票系统程序_第3页
C语言程序-火车站售票系统程序_第4页
C语言程序-火车站售票系统程序_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

火车站售票查询系统:#include<conio.h>#include<stdio.h>#include<stdlib.h>#include<string.h>intshoudsave=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:");}}}/*订票子模块*/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;t<i;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->,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.bookNum<200){mar=1;printf("\nyoucanselectthefollowingtrain!\n");printf("\n\npleaseselectthefourthoperationtobooktheticket!\n");printTrainInfo(r);}r=r->next;}if(mar==0)printf("\n\t\t\tyoucan'tbookanyticketnow!\n");}/*保存火车信息*/voidSaveTrainInfo(Linkl){FILE*fp;Node*p;intcount=0,flag=1;fp=fopen("c:\\train.txt","wb");if(fp==NULL){printf("thefilecan'tbeopened!");return;}p=l->next;while(p){if(fwrite(p,sizeof(Node),1,fp)==1){p=p->next;count++;}else{flag=0;break;}}if(flag){printf("thenumberoftherecordwhichhavebeensavedis%d\n",count);shoudsave=0;}fclose(fp);}/*保存订票人的信息*/voidSaveBookmanInfo(bookManLinkk){FILE*fp;bookMan*p;intcount=0,flag=1;fp=fopen("c:\\man.txt","wb");if(fp==NULL){printf("thefilecan'tbeopened!");return;}p=k->next;while(p){if(fwrite(p,sizeof(bookMan),1,fp)==1){p=p->next;count++;}else{flag=0;break;}}if(flag){printf("thenumberoftherecordwhichhavebeensavedis%d\n",count);shoudsave=0;}fclose(fp);}intmain(){FILE*fp1,*fp2;Node*p,*r;charch1,ch2;Linkl;bookManLinkk;bookMan*t,*h;intsel;l=(Node*)malloc(sizeof(Node));l->next=NULL;r=l;k=(bookMan*)malloc(sizeof(bookMan));k->next=NULL;h=k;fp1=fopen("c:\\train.txt","ab+");if((fp1==NULL)){printf("can'topenthefile!");return0;}while(!feof(fp1)){p=(Node*)malloc(sizeof(Node));if(fread(p,sizeof(Node),1,fp1)==1){p->next=NULL;r->next=p;r=p;count1++;}}fclose(fp1);fp2=fopen("c:\\man.txt","ab+");if((fp2==NULL)){printf("can'topenthefile!");return0;}while(!feof(fp2)){t=(bookMan*)malloc(sizeof(bookMan));if(fread(t,sizeof(bookMan),1,fp2)==1){t->next=NULL;h->next=t;h=t;count2++;}}fclose(fp2);while(1){clrscr();printInterface();printf("pleasechoosetheoperation:");scanf("%d",&sel);clrscr();if(sel==8){if(shoudsave==1){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论