1、目录目录 一一设计内容设计内容 二二设计要求设计要求 (1 1)题目要求)题目要求 (2 2)输入)输入/ /输出要求输出要求 三三整体设计思路整体设计思路 四四流程图流程图 (1 1)层次模块图)层次模块图 (2 2)空机号查询)空机号查询 N NS S 图图 五主函数及功能菜单说明五主函数及功能菜单说明 六各模块简要说明六各模块简要说明 七心得体会七心得体会 附录附录 一一源程序代码源程序代码 二二各模块运行结果截图各模块运行结果截图 一:设计内容一:设计内容 题目:题目:机房管理系统 设计机房管理系统,要求由菜单进行管理。 (1)上机前先检查是否有空机位,有则将其显示出,无则提示无空位。
2、 (2)还有空位置时,运行进入,并记录下位置号以及序号,与上机时间。 (3)可对上机者上机信息进行查询,修改与删除。 (4)设计相关模块,显示上机者的上机费用。 (5)显示所有上机者的上机信息。 二:设计要求二:设计要求 题目要求题目要求: : (1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单, 然后用户通过菜单项选择希望进行的操作项目。 (2)要求以上功能分别用函数实现。 输入输入/ /输出要求:输出要求: (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操 作项目。进入每个操作后,根据程序的提示输入相应的信息。 (2)要求用户输入数据时,要给出清晰、明确的提
3、示信息,包括输入的数 据内容、格式及结束方式等。 三:三:整体设计思路整体设计思路 在设计该程序时,要将系统的不同功能分成各个模块。每个模块由一个函数 定义,整个程序由函数调用来实现。每个模块是一个子函数,由一个主函数调用 各个子函数。在定义子函数时,根据不同的功能选择不同的语句,如需要使用循 环时可以用“dowhile”来实现;需要使用选择时可以用“switch”或“if” 语句来实现等。 设计以菜单方式工作的机房管理系统,主要包括六个模块,分别是上机者信 息输入模块, 上机者信息查询模块, 上机者信息修改模块, 上机者信息删除模块, 上机者上机费用计算模块, 所有上机者信息显示模块。 每个
4、模块由组员相应完成。 另外考虑到机房的特殊要求, 新增一个上课模式, 此模式功能是将所有机子开启, 统一赋上上机者相关信息,避免管理员一个一个的给机子输入信息。 本系统程序关键在于一个空机位的检索,亦是本程序核心之所在。本程序是 通过给 StudentListtime赋值为 0 或 1 分别实现空机号的判断。0 代表无人上 机,及为空机号,反之 1 代表有人上机,及不为空机号。 本程序通过定义结构体,包括姓名name,机号seat,学号stu_num,上 机时间time四个成员。具体如下; Struct student_infochar name10; int seat; Long stu_n
5、um; int time; 四:流程图四:流程图 层次模块图层次模块图 空机号查询空机号查询 N NS S 图图 空机号检索是本程序的核心, 本程序的其它几个模块皆是通过先对空机号的 判断然后进行下去的(及先对 StudentListtime的值进行 0 或 1 的判断) 。例 主菜单主菜单 学学 生生 信信 息息 输输 入入 模模 块块 空空 机机 号号 查查 询询 模模 块块 查查 询询 上上 机机 情情 况况 模模 块块 修修 改改 上上 机机 信信 息息 模模 块块 删删 除除 上上 机机 信信 息息 模模 块块 显显 示示 上上 机机 费费 用用 模模 块块 显显 示示 所所 有有
6、上上 机机 信信 息息 模模 块块 上上 课课 模模 式式 模模 块块 退退 出出 系系 统统 i=0,k=0 for(i=0;i80;i+) StudentListi.time=0 Y N 输出输出 i; Y k=0 N K=1 输出输出 “无空机位”“无空机位” 如“显示所有上机信息模块” ,我们小组通过一个 for 循环语句,从机号 079 号逐一判断,符合条件则将其输出。而判断的标准就是 if(StudentListi.time!=0)。NS 图如下所示: 其它模块类似,流程图省略。 五:主函数及功能菜单说明五:主函数及功能菜单说明 在主函数之前,我们首先定义了一个结构体,同时进行了相关函数的声明。 其中,结构体包括:姓名name,机号seat,学号stu_num,上机时间time 四个成员。 在主函数中, 我们定义了一个变量 j, 通过一个