您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > C语言课程设计--火车票管理系统
1二、设计内容设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述:1.系统功能(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。(2)火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询(3)统计按终点统计每日的车次数按起点统计每日的车次数2.系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次2退出三、详细设计说明#includestdio.h#includestring.h#includestdlib.hintMENU();//菜单模块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车次日期起点终点开车时间到达时间票价\nstructTrain{charcode[10];//车次chardata[10];//日期charlp[10];//leftplace起点charap[10];//arriveplace终点charlt[10];//lefttime开车时间3charat[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;4}///////////////////////////////////////////////////////////////////////////////////////菜单模块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{5system(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++;6i++;}while(iN);WRITE();system(cls);printf(\n);printf(--------------------------------\n);printf(系统记载的列车信息如下\n);printf(--------------------------------\n\n);PRINT();}///////////////////////////////////////////////////////////////////////////////////////文件记录模块voidWRITE(){FILE*fp,*fp1;if((fp=fopen(hchsk.txt,w))==NULL){printf(无法创建文件!\n\n);getchar();return;}if((fp1=fopen(N.txt,w))==NULL)//用于记录共几趟车{printf(无法创建文件!\n);getchar();return;}for(i=0;in;i++)if(fwrite(&T[i],sizeof(structTrain),1,fp)==0)printf(写入数据失败!\n\n);7fprintf(fp1,%d,n);fclose(fp);fclose(fp1);}///////////////////////////////////////////////////////////////////////////////////////文件读取模块voidREAD(){FILE*fp,*fp1;if((fp=fopen(hchsk.txt,r))==NULL){printf(无法打开文件\n);getchar();return;}if((fp1=fopen(N.txt,r))==NULL){printf(无法打开文件!\n\n);getchar();return;}fscanf(fp1,%d,&n);fclose(fp1);for(i=0;in;i++){fread(&T[i],sizeof(structTrain),1,fp);}fclose(fp);}///////////////////////////////////////////////////////////////////////////////////////打印模块voidPRINT()8{charch[10];READ();printf(\n===========================================================================\n);printf(GeShi);for(i=0;in;i++)printf(Print);printf(===========================================================================\n);printf(\n按任意键返回上级菜单:);gets(ch);}///////////////////////////////////////////////////////////////////////////////////////查询模块voidSEARCH(){charname1[10];//车次charname2[10];//终点charname3[10];//起点charname41[10];//终点charname42[10];//日期charchoice;intj;intk;do{system(cls);printf(\n\n====================欢迎进入查询火车时刻信息界面9====================\n);printf(\n++++++++++++++++++请选择查找方式++++++++++++++++++\n\n);printf(----1.显示所有列车信息2.按车次查询3.按终点查询----\n);printf(-----4.按起点查询5.按终点和日期查询6.返回上级菜单----\n);printf(\n请选择:);scanf(%d,&j);gets(l);switch(j){case1:PRINT();break;case2:printf(\n---请输入车次---:);gets(name1);break;case3:printf(\n---请输入终点---:);gets(name2);break;case4:printf(\n---请输入起点---:);gets(name3);break;case5:printf(\n---请输入终点---:);gets(name41);10printf(\n---请输入日期---:);gets(name42);break;case6:break;default:WRONG();break;}READ();k=0;if(j==2){for(i=0;in;i++){if(strcmp(T[i].code,name1)==0){printf(\n按车次查找列车信息成功!\n);printf(\n===========================================================================\n);printf(GeShi);break;}}for(i=0;in;i++){if(strcmp(T[i].code,name1)==0){11printf(Print);k++;}}printf(===========================================================================\n);printf(\n--共查询到%d趟列车信息,请按任意键返回--,k);gets(l);}if(j==3){for(i=0;in;i++){if(strcmp(T[i].ap,name2)==0){printf(\n按终点查找列车信息成功!\n);pri
本文标题:C语言课程设计--火车票管理系统
链接地址:https://www.777doc.com/doc-2105453 .html