机房收费管理系统Word文档格式.docx
- 文档编号:15979917
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:11
- 大小:77.23KB
机房收费管理系统Word文档格式.docx
《机房收费管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《机房收费管理系统Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
这几组数据内部联系很大,所以考虑把他们封装为结构体变量.
机器使用信息需要记录两个:
(1)机器使用的标记
(2)使用机器的学生.
根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。
机房收费系统可利用菜单(界面制作switch语句)使用户选择各个功能模块,而后可根据不同的选项进入到不同的功能模块进行执行.结束程序,选择y之外的任何字母或数字,如果想让程序循环执行,则选择y。
以上功能模块分别用函数来实现,然后由主函数main来调用.
表示信息
成员名称
时
hour
学号
num
分
minute
班级
class
秒
second
姓名
name
机器使用标记
f
上机起始时间
start,finish
使用机器学生
Studentstus
上机标志
flag
2、各功能模块的设计:
说明各功能模块的实现方法
1)Input模块
该函数为输入学生信息:
学号,姓名,班级,上机起始时间,并对学生是否上机做标记(flag为1,f为1为上机),人数与上机数一致。
2)Findstunum模块
查询功能:
当输入的学号与学生信息中的学号相同时,则输出该生学号,班级,姓名和上下时间,若该生未下机,则下机时间显示0.
下机功能:
询问是否下机,用switch语句控制,若下机则要求输入下机时间,不下机则退出.
3)Calculate(计算)模块
该模块中,由于时、分、秒三个时间单位不统一,首先要统一单位,均用秒做单位(1h=3600s1min=60s),然后判断上机时间是否满一小时,不满一小时按一小时收费,超过一小时再进行计算。
不足一小时按一小时收费,整小时则每小时1元收费。
代码参见Calculate(计算)函数。
4)calout(输出)模块
输出上机学生学号,班级,姓名,若下机显示消费金额,没下机显示“未下机”。
5)computer模块
首先计算机使用情况信息:
通过标记判断机器是否在使用,机器在使用则显示学生信息,机器未使用则显示学生已下机。
通过标记判断机器是否在使用,机器在使用则显示学生信息,机器未使用则显示学生已下机。
2)查询功能:
采取输入的学号与学生信息中的学号是否对应相等来判断。
4、你所设计的程序最终完成的功能
1)说明你编制的程序能完成的功能
输入功能:
输入上机学生的学号,班级,姓名,上机起始时间。
计算功能:
计算每个学生的上机费用,每小时1元。
查询功能:
查找学生上机信息并显示(班级、学号、姓名)
显示机器使用情况信息.
2)准备的测试数据及运行结果
三、程序清单
1)main函数
//主函数
voidmain()
{
while(y)
{
cout<
<
"
选择功能"
〈<
endl;
”0输入现在时间"
〈〈endl;
〈"
1输入学生信息”<
〈endl;
cout〈<
”2按学号查找”〈〈endl;
cout〈〈”3电脑使用情况”<
”4上机费用”<
5结束程序”〈<
〈”请输入"
;
cin〉〉a;
switch(a)
case0:
time();
break;
case1:
input();
break;
case2:
findstunum();
case3:
computer();
case4:
calout();
case5:
y=0;
}
}
}
2)Input函数
voidinput()
while
(1)
”输入学生的学号班级姓名上机起始时间h—m—s"
〈〈endl;
cin〉>
stu[renshu]。
num〉〉stu[renshu].banji〉>
name〉〉stu[renshu].start。
>
>
stu[renshu]。
start。
minute>
〉stu[renshu].start。
second;
stu[renshu]。
flag=1;
comp[renshu]。
f=1;
strcpy(comp[renshu].stus。
num,stu[renshu]。
num);
comp[renshu].stus.banji=stu[renshu]。
banji;
strcpy(comp[renshu].stus。
name,stu[renshu]。
name);
1.继续输入0。
结束输入”<
endl;
cin〉〉flag;
renshu++;
if(flag!
=1)
break;
//跳出输入循环
}
3)Findstunum函数
voidfindstunum()
inta;
charxh[10];
〈”请输入要查找的学号:
”;
cin〉〉xh;
for(inti=0;
i<
renshu;
i++)
if(strcmp(stu[i]。
num,xh)==0)
{
cout<
显示学生的学号班级姓名上下时间”<
stu[i].num<
〈’\t'
〈stu[i]。
banji<
’\t’〈〈stu[i]。
name〈<
'
\t'
stu[i].start。
hour〈〈stu[i].start.minute〈<
stu[i]。
second<
——-"
〈〈
stu[i]。
finish。
hour〈<
stu[i]。
minute〈<
stu[i].finish.second〈〈endl;
cout〈〈”是否下机?
〈endl;
cout<
〈”1是2否"
cin〉〉a;
switch(a)
{
cout〈〈”输入下机时间h—m-s"
cin〉〉stu[i]。
finish.hour>
〉stu[i].finish.minute>
stu[i].finish.second;
stu[i].flag=2;
comp[i]。
f=2;
}
case2:
}
for(i=0;
i〈renshu;
if(strcmp(stu[i]。
num,xh)!
=0)
cout〈<
=====不存在!
!
====="
doublecal(inti)
{
intc;
doublea,d;
c=(((stu[i]。
finish.hour*3600+stu[i].finish.minute*60+stu[i]。
second)-
(stu[i].start。
hour*3600+stu[i]。
minute*60+stu[i]。
start.second))/3600);
d=(((stu[i].finish.hour*3600+stu[i]。
minute*60+stu[i]。
finish.second)-
hour*3600+stu[i].start.minute*60+stu[i]。
start.second))*1。
0000/3600);
if(c==0)
a=1.0000;
if(c〉0)
if(d—c〉0)
a=(c+1)*1.00000;
if(d-c==0)
a=c*1.00000;
returna;
4)Computer函数
voidcomputer()
=====计算机的使用情况====="
cout〈〈"
计算机编号使用的学生的学号班级姓名”<
i〈30;
{
if(comp[i]。
f==2)
i〈〈'
〈〈"
学生已下机”<
elseif(comp[i].f==1)
〈i<
〈'
〈comp[i]。
stus。
num〈〈’\t'
〈comp[i].stus.banji<
〈comp[i].stus。
name<
else
cout〈<
i〈<
’\t'
该计算机未被使用”〈〈endl;
5)Calculate函数
doublea,d;
c=(((stu[i].finish。
hour*3600+stu[i].finish。
minute*60+stu[i]。
(stu[i]。
start.hour*3600+stu[i].start。
start.second))/3600);
d=(((stu[i]。
hour*3600+stu[i]。
finish.minute*60+stu[i].finish。
second)—
(stu[i].start.hour*3600+stu[i].start。
minute*60+stu[i]。
second))*1。
a=1.0000;
a=(c+1)*1。
00000;
if(d—c==0)
a=c*1.00000;
6)Calout函数
voidcalout()//计算机时费用
显示学生的学号班级姓名消费金额"
for(inti=0;
if(stu[i]。
flag==1)
stu[i].num〈〈’\t’<
stu[i]。
cal(i)<
\t’<
〈”未下机”<
if(stu[i].flag==2)
stu[i].num<
stu[i].banji<
stu[i].name〈〈'
\t’〈<
7)Time函数
v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机房 收费 管理 系统