




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、火车订票系统源码#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int shoudsave=0 ;int count1=0,count2=0,mark=0,mark1=0 ;/*定义存储火车信息的结构体*/struct train char num10;/*列车号*/ char city10;/*目的城市*/ char takeoffTime10;/*发车时间*/ char receiveTime10;/*到达时间*/ int price;/*票价
2、*/ int bookNum ;/*票数*/;/*订票人的信息*/struct man char num10;/*ID*/ char name10;/*姓名*/ int bookNum ;/*需求的票数*/;/*定义火车信息链表的结点结构*/typedef struct node struct train data ; struct node * next ;Node,*Link ;/*定义订票人链表的结点结构*/typedef struct people struct man data ; struct people*next ;bookMan,*bookManLink ;/* 初始界面*/
3、void printInterface() puts("*"); puts("* Welcome to use the system of booking tickets *"); puts("*"); puts("* You can choose the operation: *");1 / 12 puts("* 1:Insert a train information *"); puts("* 2:Inquire a train information *"); puts
4、("* 3:Book a train ticket *"); puts("* 4:Update the train information *"); puts("* 5:Advice to you about the train *"); puts("* 6:save information to file *"); puts("* 7:quit the system *"); puts("*");/*添加一个火车信息*/void InsertTraininfo(Link l
5、inkhead) struct node *p,*r,*s ; char num10; r = linkhead ; s = linkhead->next ; while(r->next!=NULL) r=r->next ; while(1) printf("please input the number of the train(0-return)"); scanf("%s",num); if(strcmp(num,"0")=0) break ; /*判断是否已经存在*/ while(s) if(strcmp(s-
6、>data.num,num)=0) printf("the train '%s'has been born!n",num); return ; s = s->next ; p = (struct node*)malloc(sizeof(struct node); strcpy(p->data.num,num); printf("Input the city where the train will reach:"); scanf("%s",p->data.city); printf("
7、Input the time which the train take off:"); scanf("%s",p->data.takeoffTime); printf("Input the time which the train receive:"); scanf("%s",&p->data.receiveTime); printf("Input the price of ticket:"); scanf("%d",&p->data.price);
8、printf("Input the number of booked tickets:"); scanf("%d",&p->data.bookNum); p->next=NULL ; r->next=p ; r=p ; shoudsave = 1 ; /*打印火车票信息*/void printTrainInfo(struct node*p) puts("nThe following is the record you want:"); printf(">>number of train:
9、 %sn",p->data.num); printf(">>city the train will reach: %sn",p->data.city); printf(">>the time the train take off: %snthe time the train reach: %sn",p->data.takeoffTime,p->data.receiveTime); printf(">>the price of the ticket: %dn",p-&
10、gt;data.price); printf(">>the number of booked tickets: %dn",p->data.bookNum);struct node * Locate1(Link l,char findmess,char numorcity) Node*r ; if(strcmp(numorcity,"num")=0) r=l->next ; while(r) if(strcmp(r->data.num,findmess)=0) return r ; r=r->next ; else if
11、(strcmp(numorcity,"city")=0) r=l->next ; while(r) if(strcmp(r->data.city,findmess)=0) return r ; r=r->next ; return 0 ;/*查询火车信息*/void QueryTrain(Link l) Node *p ; int sel ; char str15,str210; if(!l->next) printf("There is not any record !"); return ; printf("Choo
12、se the way:n>>1:according to the number of train;n>>2:according to the city:n"); scanf("%d",&sel); if(sel=1) printf("Input the the number of train:"); scanf("%s",str1); p=Locate1(l,str1,"num"); if(p) printTrainInfo(p); else mark1=1 ; print
13、f("nthe file can't be found!"); else if(sel=2) printf("Input the city:"); scanf("%s",str2); p=Locate1(l,str2,"city"); if(p) printTrainInfo(p); else mark1=1 ; printf("nthe file can't be found!"); /*订票子模块*/void BookTicket(Link l,bookManLink k)
14、Node*r10,*p ; char ch,dem ; bookMan*v,*h ; int i=0,t=0 ; char str10,str110,str210; v=k ; while(v->next!=NULL) v=v->next ; printf("Input the city you want to go: "); scanf("%s",&str); p=l->next ; while(p!=NULL) if(strcmp(p->data.city,str)=0) ri=p ; i+; p=p->next
15、 ; printf("nnthe number of record have %dn",i); for(t=0;t<i;t+) printTrainInfo(rt); if(i=0) printf("ntttSorry!Can't find the train for you!n"); else printf("ndo you want to book it?<1/0>n"); scanf("%d",&ch); if(ch = 1) h=(bookMan*)malloc(sizeo
16、f(bookMan); printf("Input your name: "); scanf("%s",&str1); strcpy(h->,str1); printf("Input your id: "); scanf("%s",&str2); strcpy(h->data.num,str2); printf("Input your bookNum: "); scanf("%d",&dem); h->data.bo
17、okNum=dem ; h->next=NULL ; v->next=h ; v=h ; printf("nLucky!you have booked a ticket!"); getch(); shoudsave=1 ; bookMan*Locate2(bookManLink k,char findmess) bookMan*r ; r=k->next ; while(r) if(strcmp(r->data.num,findmess)=0) mark=1 ; return r ; r=r->next ; return 0 ;/*修改火车信息
18、*/void UpdateInfo(Link l) Node*p ; char findmess20,ch ; if(!l->next) printf("nthere isn't record for you to modify!n"); return ; else QueryTrain(l); if(mark1=0) printf("nDo you want to modify it?n"); getchar(); scanf("%c",&ch); if(ch='y'); printf(&quo
19、t;nInput the number of the train:"); scanf("%s",findmess); p=Locate1(l,findmess,"num"); if(p) printf("Input new number of train:"); scanf("%s",&p->data.num); printf("Input new city the train will reach:"); scanf("%s",&p->
20、data.city); printf("Input new time the train take off"); scanf("%s",&p->data.takeoffTime); printf("Input new time the train reach:"); scanf("%s",&p->data.receiveTime); printf("Input new price of the ticket:"); scanf("%d",&
21、p->data.price); printf("Input new number of people who have booked ticket:"); scanf("%d",&p->data.bookNum); printf("nmodifying record is sucessful!n"); shoudsave=1 ; else printf("tttcan't find the record!"); else mark1=0 ; /*系统给用户的提示信息*/void Advi
22、cedTrains(Link l) Node*r ; char str10; int mar=0 ; r=l->next ; printf("Iuput the city you want to go: "); scanf("%s",str); while(r) if(strcmp(r->data.city,str)=0&&r->data.bookNum<200) mar=1 ; printf("nyou can select the following train!n"); printf(&q
23、uot;nnplease select the fourth operation to book the ticket!n"); printTrainInfo(r); r=r->next ; if(mar=0) printf("ntttyou can't book any ticket now!n"); /*保存火车信息*/void SaveTrainInfo(Link l) FILE*fp ; Node*p ; int count=0,flag=1 ; fp=fopen("c:train.txt","wb")
24、; if(fp=NULL) printf("the file can't be opened!"); 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("the number of the record which have been saved is %dn",count); shoudsave=0 ; fclose(fp);/*保存订票人的
25、信息*/void SaveBookmanInfo(bookManLink k) FILE*fp ; bookMan*p ; int count=0,flag=1 ; fp=fopen("c:man.txt","wb"); if(fp=NULL) printf("the file can't be opened!"); return ; p=k->next ; while(p) if(fwrite(p,sizeof(bookMan),1,fp)=1) p=p->next ; count+; else flag=0 ;
26、 break ; if(flag) printf("the number of the record which have been saved is %dn",count); shoudsave=0 ; fclose(fp);int main() FILE*fp1,*fp2 ; Node*p,*r ; char ch1,ch2 ; Link l ; bookManLink k ; bookMan*t,*h ; int sel ; l=(Node*)malloc(sizeof(Node); l->next=NULL ; r=l ; k=(bookMan*)malloc
27、(sizeof(bookMan); k->next=NULL ; h=k ; fp1=fopen("c:train.txt","ab+"); if(fp1=NULL) printf("can't open the file!"); return 0 ; 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't open the file!"); return 0 ; whi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运费清算协议书模板
- 海边安全协议书
- 乡村特色产业扶贫协议
- 遗失车位协议书范本
- 退款协议回收合同模板
- 房地产分销服务合同
- 智能医疗服务设备开发协议
- 达州劳务派遣合同协议
- 购买房产借款合同协议
- 海外旅行协议书
- 门诊病历书写模板全
- 15万ta焦油加工厂工业萘制取工段的初步设计
- 湖南省对口招生考试医卫专业十年真题(2010-2019年)
- 钢结构桁架吊装安装专项施工方案
- 课题研究活动记录及课题研究会议记录表
- 风电场道路工程施工方案
- TGDMDMA 0026-2023 牙科种植用导板
- 肿瘤细胞生物学1-1
- 中药饮片的基础知识和中药饮片的养护培训课件
- 2023贵州安顺市实验学校招聘公费师范生2人笔试备考题库及答案解析
- 护理部降低住院患者跌倒发生率品管圈汇报书模板
评论
0/150
提交评论