火车票务管理系统(C语言)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
火车票务管理系统
、课题内容和要求
设计目标:设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:
需求描述:
1. 系统功能
(1) 火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价
数据存入数据文件hchsk.dat或hchsk.txt 中。
(2) 火车时刻信息查询。
按照车次查询
按终点查询
按起点查询
按终点和日期查询
(3) 统计
按终点统计每日的车次数
按起点统计每日的车次数
2. 系统主界面应有以下功能选项
录入火车时刻信息
查询火车时刻信息
统计火车车次
退出
注:建议用VC环境开发用户界面。
结果形式:
提交程序设计报告和可演示的系统软件
二、需求分析
系统主界面应有以下功能选项
1 •录入火车时刻信息
2 •查询火车时刻信息
3. 统计火车车次
4. 退出
(1) 火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价
数据存入数据文件hchsk.dat或hchsk.txt 中。
(2) 火车时刻信息查询。
按照车次查询
按终点查询
按起点查询
按终点和日期查询
⑶统计
按终点统计每日的车次数
按起点统计每日的车次数
概要设计
void SearchTrai nNu m();〃按照车次查询
void SearchToPlace();〃按终点查询
void SearchFromPlace();〃按起点查询
void SearchToPlaceA ndDate();〃按终点和日期查询
void Cou ntToPlace();〃按终点统计每日的车次数
void Cou ntFromPlace();〃按起点统计每日的车次数
三、详细设计
程序的源代码与注释
#i nclude
#i ncludevstri ng.h>
#i nclude
void SearchTrai nNum();
void SearchToPlace();
void SearchFromPlace();
void SearchToPlaceA ndDate(); void Cou ntToPlace();
void Coun tFromPlace();
void Star();
struct TRAIN
{
char trai nNu m[10];
char date[30];
char fromPlace[20];
char toPlace[20];
char in Time[30];
char outTime[30];
double price;
};
struct TRAIN trai n[30];
int mai n()
{
int request;
char ch='Y';
int i=0;
double myprice;
FILE *fp;
repeat:
Star();
printf(" 火车管理系统界面\n");
prin
tf("1. 录入火车时刻信息.\n");
prin
tf("2. 查询火车时刻信息.\n");
prin
tf("3. 统计火车车次.\n");
prin
退出.\n");
tf("4.
Star();
prin tf("\n");
printf(" 请输入:");
scan f("%d",&request);
switch(request) // 利用case 分支结构
{
case 1:
{ fp=fopen(".\\train.rec","wb"); // 利用文件与流
if(!fp)
{
prin tf("File can not be ope ned\n");
exit(1);
}
do
{
printf("Enter 车次日期起点终点开车时间到达时间
票价\n>>> ");
scan f("%s%s%s%s%s%s%lf",trai n[ i].trai nNu m,trai n[ i].date,trai n[i].fromPlace ,train[i].toPlace,train[i].inTime,train[i].outTime,&myprice);
trai n[i].price=myprice;
fwrite(&trai n[i],sizeof(struct TRAIN),1,fp);
i++;
prin tf("co ntin ue(Y/N)(N to en d)?"); getchar();
sca nf("%c",&ch);
}while(ch!='N');
fclose(fp);
printf(" 返回主界面吗?(Y返回门;
getchar();
scan f("%c",&ch);
if(ch=='Y')
{
prin tf("\n\n");
goto repeat;
}
}break;
case 2:
{ prin tf("\n\n");
printf(">>>>> 火车时刻信息查询 prin tf("1. 按车次查询.\n"); prin tf("2. 按终点查询.\n"); prin tf("3. prin tf("4. 按起点查询.\n"); 按终点和日期查询.\n"); prin tf("5. 退出.\n"); printf(" 请输入:"); scan f("%d",&request); switch(request)