文章插图
【C语言火车订单管理源码】#include #include #include #include #include /*公众号:C语言与CPP编程回复“源码” , 获取30个源码项目*/#define HEADER1 " -------------------------------BOOK TICKET----------------------------------\n"#define HEADER2 " |number|start city|reach city|takeofftime|receivetime|price|ticketnumber|\n"#define HEADER3 " |----------|----------|----------|-----------|-----------|-----|------------|\n"#define FORMAT" |%-10s|%-10s|%-10s|%-10s |%-10s |%5d|%5d|\n"#define DATA p->data.num,p->data.startcity,p->data.reachcity,p->data.takeofftime,p->data.receivetime,p->data.price,p->data.ticketnumint saveflag=0 ;/*定义存储火车信息的结构体*/struct train {char num[10];/*列车号*/char startcity[10];/*出发城市*/char reachcity[10];/*目的城市*/char takeofftime[10];/*发车时间*/char receivetime[10];/*到达时间*/intprice;/*票价*/intticketnum ;/*票数*/};/*订票人的信息*/struct man {char num[10];/*ID*/char name[10];/*姓名*/intbookNum ;/*订的票数*/};/*定义火车信息链表的结点结构*/typedef struct node {struct train data ;struct node * next ;}Node,*Link ;/*定义订票人链表的结点结构*/typedef struct Man {struct man data ;struct Man *next ;}book,*bookLink ;/* 初始界面*/void menu(){puts("\n\n");puts("\t\t|------------------------------------------------------|");puts("\t\t|Booking Tickets|");puts("\t\t|------------------------------------------------------|");puts("\t\t|0:quit the system|");puts("\t\t|1:Insert a train information|");puts("\t\t|2:Search a train information|");puts("\t\t|3:Book a train ticket|");puts("\t\t|4:Modify the train information|");puts("\t\t|5:Show the train information|");puts("\t\t|6:save information to file|");puts("\t\t|------------------------------------------------------|");}/*添加一个火车信息*/void Traininfo(Link linkhead){struct node *p,*r,*s ;char num[10];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->data.num,num)==0){printf("the train '%s'is existing!\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 start:");scanf("%s",p->data.startcity);/*输入出发城市*/printf("Input the city where the train will reach:");scanf("%s",p->data.reachcity);/*输入到站城市*/printf("Input the time which the train take off:"); scanf("%s",p->data.takeofftime);/*输入出发时间*/printf("Input the time which the train receive:"); scanf("%s",/*输入到站时间*/printf("Input the price of ticket:");scanf("%d",/*输入火车票价*/printf("Input the number of booked tickets:"); scanf("%d",/*输入预定票数*/p->next=NULL ;r->next=p ;/*插入到链表中*/r=p ;saveflag = 1 ;}}/*打印火车票信息*/void printheader() /*格式化输出表头*/{printf(HEADER1);printf(HEADER2);printf(HEADER3);}void printdata(Node *q) /*格式化输出表中数据*/{Node* p;p=q;printf(FORMAT,DATA);}/*查询火车信息*/void searchtrain(Link l){Node *s[10],*r;int sel,k,i=0 ;char str1[5],str2[10];if(!l->next){printf("There is not any record !");return ;}printf("Choose the way:\n1:according to the number of train;\n2:according to the city:\n");scanf("%d",/*输入选择的序号*/if(sel==1){printf("Input the the number of train:");scanf("%s",str1);r=l->next; while(r!=NULL)if(strcmp(r->data.num,str1)==0)/*检索是否有与输入的车号相匹配的*/{s[i]=r;i++;break;}elser=r->next;}else if(sel==2){printf("Input the cityyou want to go:");scanf("%s",str2);r=l->next; while(r!=NULL)if(strcmp(r->data.reachcity,str2)==0)/*检索是否有与输入的城市相匹配的火车*/{s[i]=r;i++;r=r->next;}elser=r->next;}if(i==0)printf("can not find!"); else {printheader();for(k=0;k
推荐阅读
-
【诗妮娜】68岁泰王恣意妄为,对女儿闺蜜“下手”了,会是下一个诗妮娜吗?
-
-
ZAKER汽车|Jeep有牧马人,福特有“烈马”,越野爱好者可有福了,哈弗有大狗
-
众鸟孤云|2000年朱时茂陈佩斯却状告央视,获赔33万真的赢了吗,11次上春晚
-
-
通告,与公告 通知 通报区别对比 公告与通告的区别
-
女排▲女排这三人风格不同,最能体现郎平所说的互补,出征东京毫无悬念
-
-
Facebook Messenger收集的数据量有多吓人?可视化对比图告诉你
-
警方|高考当天发现身份证过期 海淀警方开启绿色通道当天拿证
-
2020年11月份轿车销量排行完整版,你的爱车排多少呢
-
-
爱否科技|Nord 系列新机 N10 5G/N100 海外发布,一加
-
不同产业、不同区域间发展不平衡——农业机械化瞄准三大领域补短板
-
『无线耳机』?注册制下该怎么玩,当下手中的股票该怎么办
-
生活的颤音|凭《生活的颤音》大火的冷眉,为何突然息影?冷眉如今咋样了?
-
-
专家分析核酸检测“假阴性”问题:多原因造成要积极应对
-
开黑新使者|赛季双排第一名,这一点不得不服不求人!,王小歪和不求人争一哥
-
新华网|索尼最新全画幅微单Alpha 7S III即将上市