.
一、
题目:设计一个机房收费管理系统
二、设计思路
1、总体设计
1)分析程序的功能:
设计一个机房收费系统,实现对学生上机收费的管理,从而方便学校机房的管理。 2)
系统总体结构:
每一次运行的过程可以由这几部分完成:输入:输入学生的上机学号,班级、姓名上级起始时间;计算:计算每个学生的上机费用;查询:查找学生上机信息并显示(班级、学号、姓名);显示:显示机器使用情况信息
总共四个步骤:
模块 输入学生信息 查询学生上机情况 计算机时费用 函数名称 Input Findstunum Calculate Computer 显示机器使用情况
对于每一次运行,关注的数据有三个:(1)学生的信息 (2)计算机时费用 (3)学生上机情况;
对于统计信息需要三个: (1)学生上机信息并显示(班级、学号、姓名) (2) 显示机器使用情况信息 (3)上机学生的学号、班级、姓名、上机起始时间;
这几组数据部联系很大,所以考虑把他们封装为结构体变量。
word 专业资料
.
机器使用信息需要记录两个:(1)机器使用的标记 (2)使用机器的学生。 根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。机房收费系统可利用菜单(界面制作switch语句)使用户选择各个功能模块,而后可根据不同的选项进入到不同的功能模块进行执行。结束程序,选择y之外的任何字母或数字,如果想让程序循环执行,则选择y。
以上功能模块分别用函数来实现,然后由主函数main来调用。
表示信息 时 分 秒 成员名称 hour minute second f Student stus 表示信息 学号 班级 姓名 上机起始时间 上机标志 成员名称 num class name start,finish flag 机器使用标记 使用机器学生
2、各功能模块的设计:说明各功能模块的实现方法
1)Input模块
该函数为输入学生信息:学号,姓名,班级,上机起始时间,并对学生是否上机做标记(flag为1,f为1为上机),人数与上机数一致。
2)Findstunum模块
查询功能:当输入的学号与学生信息中的学号相同时,则输出该生学号,班级,姓名和上下时间,若该生未下机,则下机时间显示0。
下机功能:询问是否下机,用switch语句控制,若下机则要求输入下机时间,不
word 专业资料
.
下机则退出。
3)
Calculate(计算)模块
该模块中,由于时、分、秒三个时间单位不统一,首先要统一单位,均用秒做单位(1h=3600s 1min=60s),然后判断上机时间是否满一小时,不满一小时按一小时收费,超过一小时再进行计算。不足一小时按一小时收费,整小时则每小时1元收费。
代码参见Calculate(计算)函数。 4)calout(输出)模块
输出上机学生学号,班级,姓名,若下机显示消费金额,没下机显示“未下机”。 5) computer模块
首先计算机使用情况信息:通过标记判断机器是否在使用,机器在使用则显示学生信息,机器未使用则显示学生已下机。通过标记判断机器是否在使用,机器在使用则显示学生信息,机器未使用则显示学生已下机。
2)查询功能:
采取输入的学号与学生信息中的学号是否对应相等来判断。 4、你所设计的程序最终完成的功能 1)说明你编制的程序能完成的功能
输入功能:输入上机学生的学号,班级,姓名,上机起始时间。 计算功能:计算每个学生的上机费用,每小时1元。 查询功能:查找学生上机信息并显示(班级、学号、姓名) 显示机器使用情况信息。
word 专业资料
.
2)准备的测试数据及运行结果
word 专业资料
.
三、程序清单
1)main函数 //主函数 void main() { while (y) { cout<<\选择功能\ cout<<\输入现在时间\ cout<<\输入学生信息\ cout<<\按学号查找\ cout<<\电脑使用情况\ cout<<\上机费用\ cout<<\结束程序\ cout<<\请输入 \word 专业资料