C程序设计报告(7)

2019-02-16 17:41

沈阳工程学院课程设计报告 第四章 系统功能实现

4.1.2列车信息录入

/******************************************* 录入信息函数

*******************************************/ 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(\

26

沈阳工程学院课程设计报告 第四章 系统功能实现

if(train[i].Yidingpiaorenshu > train[i].Edingzailiang) /*判断此车票是否售完*/

{

printf(\输入数据有误,请重新输入\\n\ printf(\已定票人数:\\n\

scanf(\ }

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录入信息

4.1.3列车信息浏览

27

沈阳工程学院课程设计报告 第四章 系统功能实现

/*********************************************** 浏览信息函数

***********************************************/ 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; }

其功能实现图如图4-5所示。

28

沈阳工程学院课程设计报告 第四章 系统功能实现

图4-5 列车基本信息查询

4.1.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(\ switch(functionNumber) {

case '1':SearchByNumber();break; /*进入按班次查询 */ case '2':SearchByAddress();break; /*进入按终点查询 */ case '3': /*返回主菜单 */

29

沈阳工程学院课程设计报告 第四章 系统功能实现

getchar(); mainmenu();

break; default:

printf(\输入错误,请确保你的输入为1--3.\\n\输入操作有误提示*/ printf(\按任意键回查询子菜单......\\n\返回并重新输入 */ getchar(); SearchMenu(); } }

void SearchByNumber(void)

{

int SearchNumber;

printf(\请输入要查询的班次号:\ scanf(\

printf(\班次\\t发车时间\\t起点\\t终点\\t行车时间(小时)\\t额定载量\\t已定票人数\\n\

printf(\SetOut.hour,train[SearchNumber-1].SetOut.minutes);

printf(\%d\\t\\t%d\\n\SearchNumber-1].TerminalPoint,train[SearchNumber-1].LastTime,train[SearchNumber-1].Edingzailiang,train[SearchNumber-1].Yidingpiaorenshu);

}

void SearchByAddress(void) {

int i;

char Address[MAX];

printf(\请输入终点站的名称:\ scanf(\ printf(\班次\\t发车时间\\t起点\\t终点\\t行车时间(小时)\\t额定载量\\t已定票人数\\n\

for(i = 0;i < RecordNumber;i++) {

//***************对比终点站记录,找到并输出********** if((strcmp(Address,train[i].TerminalPoint)) == 0) {

printf(\

30


C程序设计报告(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:1-10 中级口译复习资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: