火车票务管理系统C语言.docx

上传人:b****1 文档编号:1677247 上传时间:2022-10-23 格式:DOCX 页数:20 大小:85.40KB
下载 相关 举报
火车票务管理系统C语言.docx_第1页
第1页 / 共20页
火车票务管理系统C语言.docx_第2页
第2页 / 共20页
火车票务管理系统C语言.docx_第3页
第3页 / 共20页
火车票务管理系统C语言.docx_第4页
第4页 / 共20页
火车票务管理系统C语言.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

火车票务管理系统C语言.docx

《火车票务管理系统C语言.docx》由会员分享,可在线阅读,更多相关《火车票务管理系统C语言.docx(20页珍藏版)》请在冰豆网上搜索。

火车票务管理系统C语言.docx

火车票务管理系统C语言

火车票务管理系统

、课题内容和要求

设计目标:

设计一个火车票务管理系统,用C语言实现。

对该系统的要求如下:

需求描述:

1.系统功能

(1)火车时刻信息录入。

包括车次、日期、起点、终点、开车时间、到达时间、票价

数据存入数据文件hchsk.dat或hchsk.txt中。

(2)火车时刻信息查询。

按照车次查询

按终点查询

按起点查询

按终点和日期查询

(3)统计

按终点统计每日的车次数

按起点统计每日的车次数

2.系统主界面应有以下功能选项

录入火车时刻信息

查询火车时刻信息

统计火车车次

退出

注:

建议用VC环境开发用户界面。

结果形式:

提交程序设计报告和可演示的系统软件

二、需求分析

系统主界面应有以下功能选项

1•录入火车时刻信息

2•查询火车时刻信息

3.统计火车车次

4.退出

(1)火车时刻信息录入。

包括车次、日期、起点、终点、开车时间、到达时间、票价

数据存入数据文件hchsk.dat或hchsk.txt中。

(2)火车时刻信息查询。

按照车次查询

按终点查询

按起点查询

按终点和日期查询

⑶统计

按终点统计每日的车次数

按起点统计每日的车次数

概要设计

voidSearchTrainNum();〃按照车次查询

voidSearchToPlace();〃按终点查询

voidSearchFromPlace();〃按起点查询

voidSearchToPlaceAndDate();〃按终点和日期查询

voidCountToPlace();〃按终点统计每日的车次数

voidCountFromPlace();〃按起点统计每日的车次数

三、详细设计

程序的源代码与注释

#include

#includevstring.h>

#include

voidSearchTrainNum();

voidSearchToPlace();

voidSearchFromPlace();

voidSearchToPlaceAndDate();

voidCountToPlace();

voidCountFromPlace();

voidStar();

structTRAIN

{

chartrainNum[10];

chardate[30];

charfromPlace[20];

chartoPlace[20];

charinTime[30];

charoutTime[30];

doubleprice;

};

structTRAINtrain[30];

intmain()

{

intrequest;

charch='Y';

inti=0;

doublemyprice;

FILE*fp;

repeat:

Star();

printf("

火车管理系统界面\n");

printf("1.

录入火车时刻信息.\n");

printf("2.

查询火车时刻信息.\n");

printf("3.

统计火车车次.\n");

printf("4.

退出.\n");

Star();

printf("\n");

printf("

请输入:

");

scanf("%d",&request);

switch(request)//利用case分支结构

{

case1:

{fp=fopen(".\\train.rec","wb");//利用文件与流

if(!

fp)

{

printf("Filecannotbeopened\n");

exit

(1);

}

do

{

printf("Enter车次日期起点终点开车时间到达时间

票价\n>>>");

scanf("%s%s%s%s%s%s%lf",train[i].trainNum,train[i].date,train[i].fromPlace

,train[i].toPlace,train[i].inTime,train[i].outTime,&myprice);

train[i].price=myprice;

fwrite(&train[i],sizeof(structTRAIN),1,fp);

printf("continue(Y/N)(Ntoend)?

");getchar();

scanf("%c",&ch);

}while(ch!

='N');

fclose(fp);

printf("返回主界面吗?

(Y返回门;

getchar();

scanf("%c",&ch);

if(ch=='Y')

{

printf("\n\n");

gotorepeat;

}

}break;

case2:

{printf("\n\n");

printf(">>>>>火车时刻信息查询

printf("1.

按车次查询.\n");

printf("2.

按终点查询.\n");

printf("3.

printf("4.

按起点查询.\n");

按终点和日期查询.\n");

printf("5.

退出.\n");

printf("

请输入:

");

scanf("%d",&request);

switch(request)

case1:

SearchTrainNum();break;

case2:

SearchToPlace();break;

case3:

SearchFromPlace();break;

case4:

SearchToPlaceAndDate();break;

case5:

exit(0);break;

}

printf("返回主界面吗?

(Y返回)");

getchar();

scanf("%c",&ch);

if(ch=='Y')

{

printf("\n\n");

gotorepeat;

}

}break;

case3:

{

printf("\n\n");

printf(">>>>>

火车车次统计系统<vvvv\n");

printf("1.

按终点统计每日的车次数.\n");

printf("2.

按起点统计每日的车次数.\n");

printf("3.

退出.\n");

printf("

请输入:

");

scanf("%d",&request);

switch(request)

{

case1:

CountToPlace();break;

case2:

CountFromPlace();break;

case3:

exit(0);break;

}

printf("返回主界面吗?

(Y返回)");

getchar();

scanf("%c",&ch);

if(ch=='Y')

{

printf("\n\n");

gotorepeat;

}

}break;

case4:

{

Star();

printf("欢迎下次使用,拜拜~~\n");

Star();

}

exit(0);break;

default:

printf("Incorrectnumentered.");

printf("Enteranewnum.\n");

break;

}

return0;

voidSearchTrainNum()

{

FILE*fp1;

charnum[20];

charch;

inti=0;

fp仁fopen(".\\train.rec","r+");

if(!

fp1)

{

printf("Filecannotbeopened\n");

exit

(1);

}

do

{

rewind(fp1);//文件指针的操作,到文件头部函数

printf("输入你要查找的车次号.\n>>>");

scanf("%s",num);

while(!

feof(fp1))

{

fread(&train[i],sizeof(structTRAIN),1,fp1);

if(strcmp(num,train[i].trainNum)==0)

{

printf("%-4s%-12s%-8s%-10s%-10s%-8s%.2lf",train[i].trainNum,train[i].date,

train[i].fromPlace,train[i].toPlace,

train[i].inTime,train[i].outTime,train[i].price);

printf("\n");

}

i++;

}

printf("continue(Y/N)(Ntoend)?

");

getchar();

scanf("%c",&ch);

}while(ch!

='N');

printf("\n");

fclose(fp1);

}

voidSearchToPlace()

{

FILE*fp2;

charnum[20];

charch;

inti=0;

fp2=fopen(".\\train.rec","r+");

if(!

fp2)

{

printf("Filecannotbeopened\n");

exit

(1);

}

do

rewind(fp2)八

鸯>w«14s枣凑Inr•云vvv)

scanf(=%s=num)八

whi-e(一feof(fp2))

f「ead(£「ain=Lsizeof(snTRA-N)Afp2)八

if(sf「cmp(numkainm.fop-aceHHO)

|3「5'斗(=%—45%二25%005%二05%二05%005%.25彳35'日.彳35'之1101匕3亘二0.3^

tain日.f「omp-acekain=Lfop-acp

frainm.inTimekain三•oufHmeJrain三•price)八

prinmvl)

+■+

prinff(=conHnue(Y、N)(Nfoend)2=)八geohapscanf(=%c=QOch)八)whi_e(chH・N)prinmvr)fc-ose(fp2)八voidsearchFrommaceo宀

F_LE-4P3-charnumKSol八charch八in二Ho八

 

fp3Hfopen(=三rairLrec==r+)

==h(一fp3)

p「inff(=F=ecannofbeopenedw)八

exiox

do

rewind(fp3)八

priw鸯>w«14ss®lnr•云vvv)scanf(=%s=num)八

whi-e(一feof(fp3))

f「ead(£「ain=Lsizeof(snTRA-N)Afp3)八if(sfrcmp(numka5■日.f「0mP-aceHH0)

|3「5'斗(=%—45%二25%005%二05%二05%005%.2_『^3亘二.寸35'之1101匕3亘二0.3(0匕3in三.from卫acekainm.fo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1