版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include #include #include #include int shoudsave=0 ;int count1=0,count2=0,mark=0,mark1=0 ;/* 定义存储火车信息的结构体 */ struct trainchar num10;/*列车号 */char city10;/* 目的城市 */char takeoffTime10;/*发车时间 */char receiveTime10;/*到达时间 */int price;/* 票价 */ int bookNum ;/*票数 */;/* 订票人的信息 */struct manchar num10;/*ID*/ch
2、ar name10;/*姓名 */int bookNum ;/* 需求的票数 */;/* 定义火车信息链表的结点结构 */ typedef struct nodestruct train data ;struct node * next ;Node,*Link ;/* 定义订票人链表的结点结构 */ typedef struct peoplestruct man data ;struct people*next ; bookMan,*bookManLink ; /* 初始界面 */ void printInterface()puts(puts(* Welcome to use the syst
3、em of booking ticketsputs(*);puts(* You can choose the operation:*);puts(* 1:Insert a train information *);puts(*2:Inquire a train information*);puts(*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 th
4、e system*);puts(*);/* 添加一个火车信息 */ void InsertTraininfo(Link linkhead)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
5、-,num)=0)printf(the train %shas been born!n,num); return ;s = s-next ;p = (struct node*)malloc(sizeof(struct node); strcpy(p-,num);printf(Input the city where the train will reach:); scanf(%s,p-;printf(Input the time which the train take off:); scanf(%s,p-;printf(Input the time which the train recei
6、ve:); scanf(%s,&p-;printf(Input the price of ticket:);scanf(%d,&p-;printf(Input the number of booked tickets:);scanf(%d,&p-; 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: %sn,p-;printf
7、(city the train will reach: %sn,p-;printf(the time the train take off: %snthe time the train reach: %sn,p-,p-;printf(the price of the ticket: %dn,p-;printf(the number of booked tickets: %dn,p-;struct node * Locate1(Link l,char findmess,char numorcity) Node*r ; if(strcmp(numorcity,num)=0) r=l-next ;
8、while(r) if(strcmp(r-,findmess)=0) return r ; r=r-next ;else if(strcmp(numorcity,city)=0)r=l-next ; while(r) if(strcmp(r-,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(
9、Choose the way:n1:according to the number of train;n2: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 ; printf(nthe file cant be found!);else if(sel=2) printf(Input the city:); scan
10、f(%s,str2); p=Locate1(l,str2,city); if(p) printTrainInfo(p); elsemark1=1 ;printf(nthe file cant be found!);/* 订票子模块 */void BookTicket(Link l,bookManLink k)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
11、 go: );scanf(%s,&str);p=l-next ;while(p!=NULL)if(strcmp(p-,str)=0)ri=p ;i+;p=p-next ;printf(nnthe number of record have %dn,i);for(t=0;ti;t+)printTrainInfo(rt);if(i=0)printf(ntttSorry!Cant find the train for you!n); elseprintf(ndo you want to book itn); scanf(%d,&ch);if(ch = 1) h=(bookMan*)malloc(si
12、zeof(bookMan); printf(Input your name: ); scanf(%s,&str1);strcpy(h-,str1);printf(Input your id: );scanf(%s,&str2);strcpy(h-,str2);printf(Input your bookNum: ); scanf(%d,&dem);h-=dem ; h-next=NULL ; v-next=h ; v=h ;printf(nLucky!you have booked a ticket!); getch();shoudsave=1 ;bookMan*Locate2(bookMan
13、Link k,char findmess)bookMan*r ;r=k-next ;while(r)if(strcmp(r-,findmess)=0)mark=1 ;return r ;r=r-next ;return 0 ;/* 修改火车信息 */void UpdateInfo(Link l)Node*p ;char findmess20,ch ;if(!l-next)printf(nthere isnt record for you to modify!n); return ;elseQueryTrain(l);if(mark1=0)printf(nDo you want to modif
14、y itn);getchar(); scanf(%c,&ch); if(ch=y); printf(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-;printf(Input new city the train will reach:); scanf(%s,&p-;printf(Input new time the train take off); scanf(%s,&p-;
15、printf(Input new time the train reach:); scanf(%s,&p-;printf(Input new price of the ticket:); scanf(%d,&p-;printf(Input new number of people who have booked ticket:);scanf(%d,&p-;printf(nmodifying record is sucessful!n); shoudsave=1 ; else printf(tttcant find the record!); else mark1=0 ; /* 系统给用户的提示
16、信息 */ void AdvicedTrains(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-,str)=0&r-next ;if(mar=0)printf(ntttyou cant book any ticket now!n);/* 保存火车信息 */void SaveTrainInfo(Link l)FILE*fp ;Node*p ;int count=0,flag=1 ;fp=fo
17、pen(c:,wb);if(fp=NULL)printf(the file cant be opened!);return ;p=l-next ;while(p)if(fwrite(p,sizeof(Node),1,fp)=1)p=p-next ;count+;elseflag=0 ;break ;if(flag)printf(the number of the record which have been saved is %dn,count);shoudsave=0 ; fclose(fp);/* 保存订票人的信息 */ void SaveBookmanInfo(bookManLink k
18、)FILE*fp ; bookMan*p ; int count=0,flag=1 ;fp=fopen(c:,wb); if(fp=NULL) printf(the file cant be opened!); 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(the number of the record which have been saved is %dn,count);shoudsave=
19、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(sizeof(bookMan); k-next=NULL ;h=k ; fp1=fopen(c:,ab+); if(fp1=NULL)printf(cant open the file!); return 0 ; while(!fe
20、of(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:,ab+); if(fp2=NULL) printf(cant open the file!); return 0 ; while(!feof(fp2) t=(bookMan*)malloc(sizeof(bookMan); if(fread(t,sizeof(bookMan),1,fp2)=1) t-next=NULL ; h-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生专业技术资格考试心电学技术(中级387)相关专业知识梳理要点详解(2026年)
- (正式版)DB45∕T 2249-2020 《橘红栽培技术规程》
- 工业机器人场景创新二次开发与产业化落地技术指南 工业机器人技术白皮书
- 呼叫中心客户服务标准与规范协议
- 二手车交易车辆维修质保协议
- 面包烘焙行业市场推广合同
- 工业旅游投资合作协议书
- 2026年关于工作心理测试题及答案
- 2026年报错信息测试题及答案
- 2026年登山迷途测试题及答案
- 呼吸疾病医疗纠纷防范处理
- 2026年版卵巢癌诊疗指南
- 汽车平台架构培训课件
- 2026年中电科太力通信科技有限公司招聘备考题库带答案详解
- 2026年高考全国一卷语文作文真题解析含答案
- 股薄肌移植术后护理查房
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)思想政治试题(含答案详解)
- 消防安全应急监督员考试题库及答案解析
- 2025检察官遴选考试真题及答案
- 2025河北雄安安新县公共服务局高校毕业生临时公益性岗位招聘25人考试参考试题及答案解析
- 2025年万载中学、县第二中学、万载中专教师选调笔试备考试题及答案解析
评论
0/150
提交评论