TheponywasrevisedinJanuary2021C语言课程设计火车票管理系统二、设计内容设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述:1.系统功能(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。(2)火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询(3)统计按终点统计每日的车次数按起点统计每日的车次数2.系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出三、详细设计说明#include#include#includeintMENU();//菜单模块voidINPUT();//输入模块voidSEARCH();//查询模块voidSELECT();//统计模块voidWRITE();//文件记录模块voidPRINT();//打印模块voidREAD();//文件读取模块voidWRONG();//纠错模块#defineN1000//最大列车组数#definePrint"%s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].price//输出记录格式#defineWrong"\n!!!!!!!!!!!输入错误,请重新输入!!!!!!!!!!!\n"#defineGeShi"车次日期起点终点开车时间到达时间票价\n"structTrain{charcode[10];//车次chardata[10];//日期charlp[10];//leftplace起点charap[10];//arriveplace终点charlt[10];//lefttime开车时间charat[10];//arrivetime到达时间charprice[10];//票价}T[N];/*全局变量*/inti=0;//输入计数器intn=0;//合计计数器charl[20];//纠错空间///////////////////////////////////////////////////////////////////////////////////////主函数intmain(){intx;do{x=MENU();switch(x){case1:INPUT();break;case2:SEARCH();break;case3:SELECT();break;case4:printf("\n---------------------------------------");printf("\n正在退出,请按任意键退出");printf("\n\n");printf("\n---------------------------------------\n");break;default:WRONG();break;}}while(x!=4);return0;}///////////////////////////////////////////////////////////////////////////////////////菜单模块intMENU(){intchoice;system("cls");printf("\n----------------------------------------------\n");printf("----------------------------------------------\n");printf("------\n");printf("---欢迎进入火车票务管理系统---\n");printf("------\n");printf("----------------------------------------------\n");printf("----------------------------------------------\n\n");printf("\n--------------请输入选项-------------\n");printf("1.录入火车时刻信息\n");printf("2.查询火车时刻信息\n");printf("3.统计火车车次\n");printf("4.退出\n");printf("-----------------------------------------\n");printf("请选择:");scanf("%d",&choice);gets(l);returnchoice;}///////////////////////////////////////////////////////////////////////////////////////输入模块voidINPUT(){charch;do{system("cls");printf("\n\n====================欢迎进入录入火车时刻信息界面====================\n");do{printf("\n新建列车信息(y/n)");scanf("%c",&ch);gets(l);if(ch!='y'&&ch!='n')WRONG();}while(ch!='y'&&ch!='n');if(ch=='n')break;printf("---------------------");printf("\n录入第%d趟列车信息\n",n+1);printf("车次");gets(T[i].code);printf("日期");gets(T[i].data);printf("起点");gets(T[i].lp);printf("终点");gets(T[i].ap);printf("开车时间");gets(T[i].lt);printf("到达时间");gets(T[i].at);printf("票价");gets(T[i].price);n++;i++;}while(i共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}if(j==3){for(i=0;i共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}if(j==4){for(i=0;i共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}if(j==5){for(i=0;i共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}do{system("cls");printf("\n\n-->继续查找(1),返回主菜单(2)<--");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG();}while(choice!='1'&&choice!='2');}while(choice!='2');}///////////////////////////////////////////////////////////////////////////////////////统计模块voidSELECT(){charname1[10];//终点charname2[10];//起点intt,k;charchoice;do{system("cls");printf("\n\n====================欢迎进入统计火车车次界面====================\n");printf("\n-|--|--|--|-请选择统计方式-|--|--|--|-\n\n");printf("1.按终点统计每日的车次数\n");printf("2.按起点统计每日的车次数\n");printf("\n请选择:");scanf("%d",&t);gets(l);switch(t){case1:printf("请输入终点:");gets(name1);break;case2:printf("请输入起点:");gets(name2);break;default:WRONG();break;}READ();if(t==1){k=0;for(i=0;i共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}if(t==2){k=0;for(i=0;i共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}do{system("cls");printf("\n\n-->继续统计(1),返回主菜单(2)<--");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG();}while(choice!='1'&&choice!='2');}while(choice!='2');}///////////////////////////////////////////////////////////////////////////////////////纠错模块voidWRONG(){system("cls");printf("\n\n--->!!!输入错误,请按任意键返回!!!<---");gets(l);}