C语言实现的火车票务管理系统设计

版权申诉
0 下载量 179 浏览量 更新于2024-06-25 1 收藏 165KB DOCX 举报
"C语言课程设计火车票管理系统是一个用C语言编写的程序,旨在实现一个简单的火车票务管理系统。系统的主要功能包括火车时刻信息的录入、查询和统计。用户可以通过该系统录入火车的车次、日期、起点、终点、开车时间、到达时间和票价等信息,并能进行按车次、终点、起点以及终点和日期的查询。此外,系统还提供按终点和起点统计每日车次数的功能。程序结构包括菜单模块、输入模块、查询模块、统计模块、文件记录模块、打印模块、文件读取模块和纠错模块。代码中定义了最大列车组数为1000,并使用结构体`Train`存储火车时刻信息,每个结构体包含车次、日期、起点、终点、开车时间、到达时间和票价等字段。" 这篇资源描述了一个C语言的课程设计项目,即开发一个火车票务管理系统。这个系统的核心在于处理火车时刻表的相关信息,包括数据的录入、查询和统计。在录入部分,系统需要用户输入火车的各种信息,如车次、日期、起点站、终点站、发车及到站时间以及票价,并将这些数据存储到文件`hchsk.dat`或`hchsk.txt`中。查询功能允许用户按照不同的条件查找火车时刻信息,如按车次、终点、起点或组合条件(终点和日期)进行查询。统计功能则涉及对车次数量的统计,可以按终点或起点进行每日车次数的统计。 系统设计上,开发者已经定义了一些基本的模块,如用于显示菜单的`MENU()`函数,负责数据录入的`INPUT()`函数,处理查询操作的`SEARCH()`函数,执行统计任务的`SELECT()`函数,以及文件读写相关的`READ()`和`WRITE()`函数。此外,还有用于处理用户输入错误的`WRONG()`函数和打印记录的`PRINT()`函数。整个系统使用了一个全局变量数组`T[N]`来存储火车时刻信息,其中`N`代表最大列车组数,而`i`和`n`分别作为输入计数器和合计计数器。 通过这个项目,学生可以学习到如何使用C语言进行文件操作、结构体定义、用户交互以及基本的数据管理。同时,设计这样的系统还能锻炼到问题分析和模块化编程的能力。
2023-05-29 上传
C语言课程设计--火车票管理系统 LT 起点 终点 开车时间 到达时间 票价\n" struct Train { char code[10]; //车次 char data[10]; //日期 char lp[10]; //left place 起点 char ap[10]; //arrive place 终点 char lt[10]; //left time 开车时间 char at[10]; //arrive time 到达时间 char price[10]; // 票价 }T[N]; /* 全局变量 */ int i=0; //输入计数器 int n=0; //合计计数器 char l[20]; //纠错空间 //////////////////////////////////////////////////////////////////////////// ///////////主函数 int main() { int x; do { x=MENU(); switch(x) { case 1:INPUT(); break; case 2:SEARCH(); break; case 3:SELECT(); break; case 4: printf("\n ------------------------------------- --"); printf("\n 正在退出,请按任意键退出"); printf("\n\n "); printf("\n ------------------------------------- --\n "); break; default:WRONG(); 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(" ---------------------------------------------- \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); return choice; } //////////////////////////////////////////////////////////////////////////// ///////////输入模块 void INPUT() { char ch; 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(" 终点