版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述:1.系统功能(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。(2)火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出三、详细设计说明#include<stdio.h>#include<string.h> #include<stdlib.h&
2、gt;int MENU(); /菜单模块void INPUT(); /输入模块void SEARCH(); /查询模块void SELECT(); /统计模块void WRITE(); /文件记录模块void PRINT(); /打印模块void READ(); /文件读取模块void WRONG(); /纠错模块#define N 1000 /最大列车组数#define Print " %s%13s%10s%10s%12s%15s%11sn",Ti.code,Ti.data,Ti.lp,Ti.ap,Ti.lt,Ti.at,Ti.price /输出记录格式#define W
3、rong "n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入 ! ! ! ! ! ! ! ! ! ! ! n" #define GeShi " 车次 日期 起点 终点 开车时间 到达时间 票价n" struct Trainchar code10; /车次char data10; /日期char lp10; /left place 起点char ap10; /arrive place 终点char lt10; /left time 开车时间char at10; /arrive time 到达时间char price10; / 票价TN;
4、/* 全局变量 */int i=0; /输入计数器int n=0; /合计计数器char l20; /纠错空间/主函数int main() int x;dox=MENU();switch(x)case 1:INPUT(); break;case 2:SEARCH(); break;case 3:SELECT(); break;case 4:printf("n -");printf("n 正在退出,请按任意键退出");printf("nn ");printf("n -n ");break;default:WRONG(
5、); break;while(x!=4);return 0;/菜单模块int MENU()int choice;system("cls"); printf("n -n");printf(" -n");printf(" - -n");printf(" - 欢迎进入火车票务管理系统 -n");printf(" - -n");printf(" -n");printf(" -nn");printf(" n - 请输入选项 -n&quo
6、t;);printf(" 1.录入火车时刻信息n");printf(" 2.查询火车时刻信息n");printf(" 3.统计火车车次n");printf(" 4.退出n");printf(" -n");printf(" 请选择: ");scanf("%d",&choice);gets(l);return choice;/输入模块void INPUT()char ch;dosystem("cls"); printf("
7、nn =欢迎进入 录入火车时刻信息 界面=n");doprintf("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(&
8、quot; 车次 ");gets(Ti.code);printf(" 日期 ");gets(Ti.data);printf(" 起点 ");gets(Ti.lp);printf(" 终点 ");gets(Ti.ap);printf(" 开车时间 ");gets(Ti.lt);printf(" 到达时间 ");gets(Ti.at);printf(" 票价 ");gets(Ti.price);n+;i+;while(i<N);WRITE();system(&qu
9、ot;cls"); printf("n");printf(" -n");printf(" 系统记载的列车信息如下n");printf(" -nn");PRINT();/文件记录模块void WRITE() FILE *fp,*fp1;if(fp=fopen("hchsk.txt","w")=NULL)printf("无法创建文件!nn");getchar();return;if(fp1=fopen("N.txt","
10、w")=NULL)/用于记录共几趟车printf("无法创建文件!n");getchar();return; for(i=0;i<n;i+)if(fwrite(&Ti,sizeof(struct Train),1,fp)=0)printf("写入数据失败!nn");fprintf(fp1,"%d",n);fclose(fp);fclose(fp1); /文件读取模块void READ()FILE *fp,*fp1;if(fp=fopen("hchsk.txt","r")=
11、NULL)printf("无法打开文件n");getchar();return;if(fp1=fopen("N.txt","r")=NULL)printf("无法打开文件!nn");getchar();return;fscanf(fp1,"%d",&n);fclose(fp1);for(i=0;i<n;i+) fread(&Ti,sizeof(struct Train),1,fp); fclose(fp);/打印模块void PRINT()char ch10;READ();
12、printf("n =n");printf(GeShi);for(i=0;i<n;i+) printf(Print);printf(" =n");printf("n 按任意键返回上级菜单: ");gets(ch);/查询模块void SEARCH()char name110;/车次char name210;/终点char name310;/起点char name4110;/终点char name4210;/日期char choice;int j;int k;dosystem("cls"); printf(&q
13、uot;nn =欢迎进入 查询火车时刻信息 界面=n");printf("n +请选择查找方式+nn");printf(" -1.显示所有列车信息 2.按车次查询 3.按终点查询-n");printf(" -4.按起点查询 5.按终点和日期查询 6.返回上级菜单-n");printf("n 请选择: ");scanf("%d",&j);gets(l);switch(j)case 1:PRINT();break;case 2:printf("n - 请输入车次 -: &
14、quot;);gets(name1);break;case 3:printf("n - 请输入终点 -: ");gets(name2);break;case 4:printf("n - 请输入起点 -: ");gets(name3);break;case 5:printf("n - 请输入终点 -: ");gets(name41);printf("n - 请输入日期 -: ");gets(name42);break;case 6: break;default:WRONG ();break;READ();k=0;if
15、(j=2)for(i=0;i<n;i+) if(strcmp(Ti.code,name1)=0)printf("n 按 车次 查找列车信息成功!n");printf("n =n");printf(GeShi);break;for(i=0;i<n;i+)if(strcmp(Ti.code,name1)=0)printf(Print);k+;printf(" =n");printf("n -> 共查询到 %d 趟列车信息,请按任意键返回 <- ",k);gets(l);if(j=3)for(i=
16、0;i<n;i+) if(strcmp(Ti.ap,name2)=0)printf("n 按 终点 查找列车信息成功!n");printf("n =n");printf(GeShi);break;for(i=0;i<n;i+)if(strcmp(Ti.ap,name2)=0)printf(Print);k+;printf(" =n");printf("n -> 共查询到 %d 趟列车信息,请按任意键返回 <- ",k);gets(l);if(j=4)for(i=0;i<n;i+) if
17、(strcmp(Ti.lp,name3)=0)printf("n 按 起点 查找列车信息成功!n");printf("n =n");printf(GeShi);break;for(i=0;i<n;i+)if(strcmp(Ti.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(Ti.ap,n
18、ame41)=0&&strcmp(Ti.data,name42)=0)printf("n 按 终点和日期 查找列车信息成功!n");printf("n =n");printf(GeShi);break;for(i=0;i<n;i+)if(strcmp(Ti.ap,name41)=0&&strcmp(Ti.data,name42)=0)printf(Print);k+;printf(" =n");printf("n -> 共查询到 %d 趟列车信息,请按任意键返回 <- &qu
19、ot;,k);gets(l);dosystem("cls"); printf("nn ->继续查找(1),返回主菜单(2)<- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();while(choice!='1'&&choice!='2');while(choice!='2');/统计模块void SELECT()char name110;/终点char
20、 name210;/起点int t,k;char choice;dosystem("cls");printf("nn =欢迎进入 统计火车车次 界面=n");printf("n -|- -|- -|- -|- 请选择统计方式 -|- -|- -|- -|- nn");printf(" 1.按终点统计每日的车次数n");printf(" 2.按起点统计每日的车次数n");printf("n 请选择: ");scanf("%d",&t);gets(l);switch(t)case 1:printf(" 请输入终点: ");gets(name1);break;case 2:printf(" 请输入起点: ");gets(name2);break;default:WRONG();break;READ();if(t=1)k=0;for(i=0;i<n;i+) if(strcmp(Ti.lp,name1)=0)printf("n 按 终点 统计列车信息成功!n"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年专业咨询服务协议范本版B版
- 2024年依照民族政策制定的离婚合同书样例
- 2024公司间贷款合同范本
- 2024年创新咨询合作协议范本下载
- 江南大学《创意立体剪裁》2023-2024学年第一学期期末试卷
- 佳木斯大学《数值分析》2021-2022学年第一学期期末试卷
- 软装陈列2024年度设计合作协议2篇
- 暨南大学《口腔种植学》2021-2022学年第一学期期末试卷
- 暨南大学《国际关系原著》2021-2022学年第一学期期末试卷
- 济宁学院《室内设计》2021-2022学年第一学期期末试卷
- YD-T 2664-2024 公用电信设施保护安全等级要求
- 部编版道德与法治七年级上册每课教学反思
- 35kV开关柜技术协议
- NYT 2114-2012 大豆疫霉病菌检疫检测与鉴定方法
- 项目风险记录及跟踪表
- 田间管理记录表
- 抽水蓄能电站项目可行性研究报告
- 初一英语英语阅读理解专项训练15篇
- 2024年个人信用报告(个人简版)样本(带水印-可编辑)
- 2023年国航股份商务委员会高校毕业生校园招聘考试真题
- 悉尼歌剧院-建筑技术分析
评论
0/150
提交评论