沈阳工程学院课程设计报告 第三章系统分析与设计
void InputMessage(void) {
char yn;
FILE *fp; /*再此添加引用文件*/ int i = RecordNumber;
if((fp=fopen(\如果文件为空,则文件打不开*/ {
printf(\不能打开文件\\n\return; }
do{ /*信息录入的“do-while”循环函数*/
printf(\车次:\\n\
scanf(\ printf(\发车时间:\\n\
scanf(\
if(train[i].SetOut.hour>23 || train[i].SetOut.minutes>59) /*判断当前输入的列车时间是否有误*/
{
printf(\输入时间有误,请重新输入\\n\输入有误则进行重新输入*/
getchar(); }
printf(\始发站:\\n\
scanf(\ printf(\终点站:\\n\
scanf(\ printf(\行车时间:\\n\
scanf(\ printf(\额定载量:\\n\
scanf(\
printf(\已定票人数:\\n\
scanf(\
if(train[i].Yidingpiaorenshu > train[i].Edingzailiang) /*判断此车票是否售完*/
{
printf(\输入数据有误,请重新输入\\n\ printf(\已定票人数:\\n\
scanf(\ }
11
沈阳工程学院课程设计报告 第三章系统分析与设计
fprintf(fp,\].SetOut.minutes);
fprintf(fp,\%d\\t\\t%d\Point,train[i].LastTime,train[i].Edingzailiang,train[i].Yidingpiaorenshu);
i++;
getchar();
printf(\是否继续?y/n\\n\ yn = getchar();
}while(yn == 'Y' || yn == 'y'); /*对是否继续进行循环进行判断*/
RecordNumber = i;
fclose(fp); /*运行完毕关闭文件*/ return; }
其功能实现图如图4-4所示。
图4.4录入信息
12
沈阳工程学院课程设计报告 第三章系统分析与设计
开始 主菜单 功能选择 Y 1? Y 录入班次信息 2? Y 浏览班次信息 3? 查询行车路线 选择查询 Y N 1? Y 按班次查询 2? 按终点查询 Y 3? Y 4? 售票与退票管理系统 选择 Y 5? 1? Y 订票系统 2? 退出 3? 退票系统 Y
结束 图3-6 列车基本信息管理流程图 13
沈阳工程学院课程设计报告 第三章系统分析与设计
(2)列车信息浏览
列车信息浏览是将已有的火车售票系统中的各次火车信息显示在屏幕上。用户可以直观的看到所有的班次信息,方便用户查找所需的车次及路线。如图3-7所示。
/*********************************************** 浏览信息函数
***********************************************/ void ShowMessage(void) {
int i = 0; FILE *fp;
if((fp=fopen(\
{
printf(\读取数据失败,请检查文件add.txt是否存在.\\n\ exit(-1); }
printf(\班次\\t发车时间\\t起点\\t终点\\t行车时间(小时)\\t额定载量\\t已定票人数\\n\
for(i=0;i<=RecordNumber;i++) {
printf(\t.minutes);
printf(\int,train[i].LastTime,train[i].Edingzailiang,train[i].Yidingpiaorenshu);
/******* 调用系统时间实现的功能:如果车已发出,则打出提示\此车已发出\
time_t rawtime; /*在此处引用能够调用系统时间的“time”结构体,调用系统时间*/
struct tm * timeinfo; time(&rawtime); timeinfo=localtime(&rawtime);
if((timeinfo->tm_hour == train[i].SetOut.hour && timeinfo->tm_min >= train[i].SetOut.minutes) || (timeinfo->tm_hour > train[i].SetOut.hour)) /*将发车时间与此时系统时间作比较,判断此车是否发出*/
printf(\此车已发出\ printf(\ }
fclose(fp); /*运行完毕关闭文件*/ return;
14
沈阳工程学院课程设计报告 第三章系统分析与设计
}
其功能实现图如图4-5所示。
图4-5 列车基本信息查询
(3)车票信息查询
在车票信息查询这个系统中,用户可以根据不同的需求来查找所需的班次信息,包括终点查询和班次查询,输入所需的班次或者终点站就会显示所有符合条件的车次信息了,用户就可以清楚直观的看到想要的车次了,其界面如图2.4。
/****************************************** 查询子菜单
*******************************************/ void SearchMenu(void) {
system(\对运行是的界面大小做出规定*/
char functionNumber;
printf(\查询子菜单\\n\
printf(\┏━━━━━━━━━━━━━━━━━━┓\\t\\n\ printf(\┃ 1.按班次号查询 ┃\\t\\n\ printf(\┃ 2.按终点站查询 ┃\\t\\n\ printf(\┃ 3.返回主菜单 ┃\\t\\n\ printf(\┗━━━━━━━━━━━━━━━━━━┛\\n\ printf(\请选择你所需要的功能:\ scanf(\
15