版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言专业课程设计火车票标准管理系统二、设计内容设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述:(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。。(2)火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询(3)统计按终点统计每日的车次数按起点统计每日的车次数2.系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出三、详细设计说明#include<>#include<>#include<>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"车次日期起点终点开车时间到达时间票价\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("\n"); printf("\n"); printf("\n"); printf("\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<N); WRITE(); system("cls"); printf("\n"); printf("--------------------------------\n"); printf("系统记载的列车信息如下\n"); printf(" 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("","r"))==NULL) { printf("无法打开文件\n"); getchar(); return; } if((fp1=fopen("","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("\n"); printf("\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); 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++; } } printf("===========================================================================\n"); printf("\n-->共查询到%d趟列车信息,请按任意键返回<--",k); gets(l); } if(j==5) { for(i=0;i<n;i++) { if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0) { printf("\n按终点和日期查找列车信息成功!\n"); printf("\n===========================================================================\n"); printf(GeShi); break; } } for(i=0;i<n;i++) { if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0) { 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("\n-|--|--|--|-请选择统计方式-|--|--|--|-\n\n"); printf("\n"); printf("\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<n;i++) { if(strcmp(T[i].lp,na
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华师大版初中科学第5章《1 食物的消化和吸收》课件1
- 华师大版初中科学3、水是常用的溶剂16课件
- 医院陪护制度
- 医疗仪器设备备品备件管理制度
- 第四单元课题1 爱护水资源 九年级化学人教版2024上册
- 7《鹿角和鹿腿》核心素养分层学习任务单-2022-2023学年三年级语文下册新课标(部编版)
- 【寒假阅读提升】四年级下册语文试题-现代文阅读(四)-人教部编版(含答案解析)
- 心源性脑栓塞及小动脉闭塞性脑梗死
- 2024年惠州申请客运从业资格证2024年试题
- 2024年资阳客运从业资格证考试模拟试题
- 2024-2025学年九年级上学期期中考试英语试题
- 2024-2030年手机游戏行业市场深度分析及前景趋势与投资研究报告
- GB/T 20279-2024网络安全技术网络和终端隔离产品技术规范
- 安全工程导论课件:事故致因理论
- 山东省青岛实验中学2024-2025学年七年级上学期期中考试数学试题(无答案)
- 2024年安能物流合作加盟协议版
- 2024年湖南烟草专卖局招249人考试高频难、易错点500题模拟试题附带答案详解
- 生活饮用水、公共场所卫生管理系列国家强制性标准解读答案-2024年全国疾控系统“大学习”活动
- 质量管理体系过程方法和风险思维专业解读与应用之7:5 领导作用-5.3组织的岗位、职责和权限(雷泽佳编制-2024B1)
- 第二次月考卷-2024-2025学年统编版语文六年级上册
- 车辆采购服务投标方案(技术方案)
评论
0/150
提交评论