C程序设计报告(8)

2019-02-16 17:41

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

t.minutes);

printf(\%d\\t\\t%d\\n\int,train[i].LastTime,train[i].Edingzailiang,train[i].Yidingpiaorenshu);

}

} }

功能实现图如图4-6所示。

图4-4 列车基本信息管理

4.1.5订票与退票管理

退票管理是在原有的火车订票系统中查找到要退票的车票信息,如果给火车票没有过期,将该车票所在的结点进行退票处理。根据查询功能查找出所要退票的车票信息,先判断链表是否为空,若为空,返回主菜单;若不为空,看是否过期,若过期,输出退票失败,否则对该结点进行退票操作。

源代码如下:

/***************************************** 票务管理函数

*****************************************/ void TicketManagement(void) {

char functionNumber;

system(\ printf(\订票与退票菜单\\n\

printf(\┏━━━━━━━━━━━━━━━━

31

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

━━┓\\n\

printf(\ ┃ 1.订票

┃ \\t\\n\

printf(\ ┃ 2.退票 ┃\\t\\n\

printf(\ ┃ 3.返回主菜单 ┃\\t\\n\

printf(\┗━━━━━━━━━━━━━━━━━━┛\\n\

printf(\选择你需要的功能:\ scanf(\

switch(functionNumber) {

case '1':TicketOrder();break; case '2':TicketDelete();break; case '3': {

getchar(); mainmenu(); }

break; default: {

printf(\输入错误,请确保你的输入为1--3.\\n\ printf(\按任意键返回......\\n\ getchar();

TicketManagement(); } } }

void TicketOrder(void) {

int i;

time_t rawtime;

struct tm * timeinfo;

printf(\请输入要订购的车票的班次:\ scanf(\ printf(\

32

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

if(i < 1 || i > RecordNumber+1) {

printf(\对不起,今天没有这趟车,请明天再来,谢谢使用!\\n\ printf(\按任意键回主菜单......\\n\ getchar();

mainmenu(); }

time(&rawtime);

timeinfo=localtime(&rawtime);

printf(\

if((timeinfo->tm_hour == train[i-1].SetOut.hour&&timeinfo->tm_min < train[i-1].SetOut.minutes) || (timeinfo->tm_hour < train[i-1].SetOut.hour))

{

if(train[i-1].Yidingpiaorenshu < train[i-1].Edingzailiang) {

(train[i-1].Yidingpiaorenshu)++;

printf(\你的订票成功,请按时上车,谢谢使用!\\n\ }

else printf(\对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!\\n\ }

else printf(\对不起,今天的这趟车已发出,请明天再来,谢谢合作!\\n\

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

printf(\.SetOut.minutes);

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

printf(\按任意键回主菜单......\\n\ getchar(); getchar(); mainmenu(); }

void TicketDelete(void) {

33

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

int i;

printf(\请输入要退购的车票的班次:\ scanf(\

if( i < 1 || i > RecordNumber + 1 ) {

printf(\对不起,今天没有这趟车,无法完成退票.谢谢使用!\\n\ getchar(); getchar();

TicketManagement(); }

time_t rawtime;

struct tm * timeinfo; time(&rawtime);

timeinfo=localtime(&rawtime);

if((timeinfo->tm_hour == train[i-1].SetOut.hour && timeinfo->tm_min < train[i-1].SetOut.minutes) || (timeinfo->tm_hour < train[i-1].SetOut.hour))

{

if(train[i-1].Yidingpiaorenshu >= 1) {

train[i-1].Yidingpiaorenshu-=1; printf(\退订车票成功,谢谢使用!\\n\ }

else printf(\对不起,今天的这趟车的票尚未卖出,无法完成退票!\\n\ }

else printf(\对不起,今天的这趟车已发出,无法完成退票!\\n\

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

printf(\.SetOut.minutes);

printf(\lPoint,train[i-1].LastTime,train[i-1].Edingzailiang,train[i-1].Yidingpiaorenshu);

printf(\按任意键回主菜单......\\n\ getchar(); getchar(); mainmenu(); }

void exit(void) {

34

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

printf(\谢谢使用本系统,欢迎下次继续使用***********************\\n\

exit(0); }

void SaveRecord(ticket x)

{

FILE *fp;

if((fp=fopen(\ {

printf(\打开文件%s失败\\n\ exit(-1);

}

fprintf(fp,\fprintf(fp,\e,x.Edingzailiang,x.Yidingpiaorenshu);

}

void Read(void) {

int i; FILE *fp;

if((fp=fopen(\ {

exit(-1); }

for(i = 0; !feof(fp); i++) {

fscanf(fp,\tOut.minutes);

fscanf(fp,\[i].LastTime,&train[i].Edingzailiang,&train[i].Yidingpiaorenshu);

}

i--;

RecordNumber = i; fclose(fp); return; }

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

35


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

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

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

马上注册会员

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