C语言课程设计-火车票管理系统_第1页
C语言课程设计-火车票管理系统_第2页
C语言课程设计-火车票管理系统_第3页
C语言课程设计-火车票管理系统_第4页
C语言课程设计-火车票管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精心整理二、设计内容设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述:系统功能火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询统计按终点统计每日的车次数按起点统计每日的车次数系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出

精心整理三、详细设计说明#include<stdio.h>#include<string.h>#include<stdlib.h>intMENU();〃菜单模块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"车次日期起点终点开车时间到达时间票价\叶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:TOC\o"1-5"\h\zprintf("\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("---printf("---欢迎进入火车票务管理系统printf("---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);---\n");---\n");---\n");gets(l);returnchoice;}///////////////////////////////////////////////////////////////////////////////////////输入模块voidINPUT(){charch;dosystem("cls");printf("\n\n欢迎进入录入火车时刻信息界面An");精心整理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;TOC\o"1-5"\h\zprintf("");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<N);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;i<n;i++)if(fwrite(&T[i],sizeof(structTrain),1,fp)==0)printf("写入数据失败!\n\n");fprintf(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;i<n;i++)fread(&T[i],sizeof(structTrain),1,fp);fclose(fp);///////////////////////////////////////////////////////////////////////////////////////打印模块voidPRINT(){charch[10];READ();精心整理printf("\n\n");printf(GeShi);for(i=0;i<n;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====================欢迎进入查询火车时刻信息界面=======\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(namel);break;case3:printf("\n---请输入终点---:");gets(name2);break;case4:printf("\n---请输入起点---:");gets(name3);break;case5:printf("\n---请输入终点---:");gets(name41);printf("\n---请输入日期---:");gets(name42);break;case6:break;default:WRONG();break;}READ();k=0;if(j==2){for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf("\n按车次查找列车信息成功!\n");printf("\n\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf(Print);k++;}}printf(\n");printf("\n-->共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}if(j==3){for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf("\n按终点查找列车信息成功!\n");printf("\n\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf(Print);k++;}}printf(\n");printf("\n-->共查询到%d趟列车信息,请按任意键返回<--",k);gets(l);}if(j==4){for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf("\n按起点查找列车信息成功!\n");printf("\n\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf(Print);k++;}}

\n");",k);功!\n");\n");printf("printf("\ngets(l);if(j==5)for(i=0;i<n;i++)-->共查询到%d趟列车信息,请按任意键返回<--\n");",k);功!\n");\n");printf("printf("\ngets(l);if(j==5)for(i=0;i<n;i++)-->共查询到%d趟列车信息,请按任意键返回<--if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)=0)printf("\nprintf("\n按终点和日期查找列车信息成printf(Print);k++;printf(\n");printf("\n-->共查询到%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("\nI--I--I--I-请选择统计方式-I--I--I--I-\n\n");printf(1.按终点统计每日的车次数\叶);printf("\nprintf(1.按终点统计每日的车次数\叶);printf(2.按起点统计每日的车次数\叶);printf("\n请选择:");scanf("%d”,&t);gets(l);switch(t)Case1:printf("请输入终点:");gets(namel);break;case2:printf("请输入起点:");gets(name2);break;default:WRONG();break;READ();if(t==1)k=0;for(i=0;i<n;i++)Cif(strcmp(T[i].lp,name1)==0)按终点统计列车信息成功!\n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论