火车票务管理系统(C语言)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档