沈阳工程学院课程设计报告 第三章系统分析与设计
图2.3 工程环境
第三章 系统分析与设计及其实现
3.2 火车售票系统分析与设计
3.2.1 车票系统的功能
本任务要求实现火车售票系统,输入火车基本信息以及客户信息,并将其存入文件中。根据需要可以进行如下操作:列车基本信息管理、列车基本信息查询、订票管理、退票管理。其功能模块图,如图3-5所示。
图3-5 车票售票系统模块图
6
沈阳工程学院课程设计报告 第三章系统分析与设计
流程图如下。
开始 主菜单 功能选择 Y 1? Y 录入班次信息 2? Y 浏览班次信息 3? 查询行车路线 选择查询 Y N 1? Y 按班次查询 2? 按终点查询 Y 3? Y 4? 售票与退票管理系统 选择 Y 5? 1? Y 订票系统 2? 退出 3? 退票系统 Y 结束
3.2.2 系统模块分析及其流程图与函数
7
沈阳工程学院课程设计报告 第三章系统分析与设计
(1)主函数声明
/**********************************************/
void ShowMessage(void); /*载入原始数据 */ void mainmenu(void); /*主菜单 */ void InputMessage(void); /*录入班次信息 */ void SearchMenu(void); /*查询路线子菜单 */ void SearchByNumber(void); /*按班次号查询 */ void SearchByAddress(void); /*按终点站查询 */ void TicketManagement(void); /*车票售出与退回 */ void TicketOrder(void); /*售票 */ void TicketDelete(void); /*退票 */ void exit(void); /*退出该系统 */ void SaveRecord(ticket x); /*储存信息到文件中*/ void Read(void);
/**********************************************/ 在此定义所有将用到的函数,方便以后对函数的调用。 (2)主菜单
/******************************************* 主菜单
********************************************/ int main(void)
{ do {
mainmenu();
}while(FLAG == FALSE); return 0; }
void mainmenu(void) {
system(\对运行是的界面大小做出规定*/ char functionNumber;
printf(\车票管理系统\\n\\n\
printf(\制作:吕齐 吴明洋 伍雪强\\n\ printf(\日期:2011/4/08\\n\\n\ time_t rawtime;
struct tm * timeinfo; time(&rawtime);
8
沈阳工程学院课程设计报告 第三章系统分析与设计
timeinfo=localtime(&rawtime);
printf(\当前时间:%d:%d\
printf(\
printf(\┏━━━━━━━━━━━━━━━━━━┓\\n\ printf(\┃ 1.录入班次信息 ┃\\t\\n\ printf(\┃ 2.浏览班次信息 ┃\\t\\n\ printf(\┃ 3.查询行车路线 ┃\\t\\n\ printf(\┃ 4.售票与退票系统 ┃\\t\\n\ printf(\┃ 5.退出该系统 ┃\\t\\n\ printf(\┗━━━━━━━━━━━━━━━━━━┛\\n\
printf(\__~@\\n\
printf(\----- _`\\<,_ _`\\<,_ _`\\<,_ _`\\<,_ _`\\<,_\\n\
printf(\(*)/ (*) \\n\
printf(\
/*************************************** 功能导入
****************************************/
printf(\请选择你所需要的功能:\
Read();
scanf(\ switch(functionNumber) {
case '1': {
InputMessage(); /*进入信息录入*/ printf(\按任意键回主菜单......\\n\ getchar(); getchar(); }
break; case '2': {
// RecordNumber=ShowMessage(); /*进入浏览信息*/ ShowMessage();
9
沈阳工程学院课程设计报告 第三章系统分析与设计
printf(\按任意键回主菜单......\\n\ getchar(); getchar(); }
break;
case '3': {
SearchMenu(); /*进入查询子菜单*/ printf(\按任意键回主菜单......\\n\ getchar(); getchar();
}
break; case '4': {
TicketManagement(); /*进入票务管理*/ getchar(); getchar(); }
break;
case '5':FLAG=TRUE;exit();break;
default: {
printf(\输入错误,请确保你的输入为1--5.\\n\输入操作失误,返回重新输入*/
printf(\按任意键回主菜单......\\n\ getchar(); getchar(); } }
FLAG=FALSE; }
(2)列车信息录入
列车信息录入是通过do while循环将所存储的列车基本信息存储在文件中,其顺序依次是车次、时间、始发站、终点站、行车时间、额定载额、已载人数。每次列车信息录入之后,用while循环来判断是否继续录入,其流程图如图3-6所示。
/******************************************* 录入信息函数
*******************************************/
10