华北电力大学科技学院机房计费系统实验报告Word下载.docx
- 文档编号:22672642
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:29
- 大小:85.50KB
华北电力大学科技学院机房计费系统实验报告Word下载.docx
《华北电力大学科技学院机房计费系统实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《华北电力大学科技学院机房计费系统实验报告Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
3
编码
4天
4
调试
四、设计(实验)成果要求
能实时管理和统计学生上机的时间及交费使用情况,并记录学生上机的时间及所支出的费用。
按不同的收费标准来设定收费的费率。
及时提醒学生存款,余额不足时禁止使用机器。
功能:
登录:
学生输入用户名和学号
对学生的管理:
增加、删除、修改、查找、挂失、解挂等。
学生可以查看各自登陆的时间,费用情况。
管理员可以查看所有学生的登陆情况。
管理员可以对即将欠费的学生进行提醒。
五、考核方式
实验结果(60%)+实验报告(30%)+实验过程表现(10%)
年月日
一、课程设计(综合实验)的目的与要求
1.熟悉微机的应用环境。
2、设计(实验)正文
程序实现的功能:
1.输入功能:
输入30名学生的学号、班级、姓名、上机起始时间。
2.计算功能:
计算每个下机学生的上机费用,每小时1元。
(上机费用=上机时间*1.0/h,不足一小时按一小时计算)
3.查询功能:
按条件(班级、学号、姓名)显示学生的上机时间。
4.机器使用情况的显示(显示方式不限但要一目了然)
类的定义
1.学生类的定义:
Student(学生类)
inttag;
//删除标记
charname[20];
学生姓名
intcla;
班级
intstunum;
学号
intcomnum;
上机号
time_tstime;
开始上机时间
time_totime;
下机时间
doublehtime;
上机总时间
intmoney;
上机费用
Student();
构造函数
Voidupcom(charName[20],intCla,intStunum,intComnum);
上机操作
intdowncom();
下机操作
voiddelstu();
删除操作
voidsetotime();
设置下机时间
time_tgettime();
获取当前时间
char*getname();
获取姓名
intgetcla();
获取班级号
intgettag();
获取标记
intgetstunum();
获取学号
2.学生库类定义:
StuData(学生库类)
inttop;
学生记录指针
Studentstudent[MAXS];
学生记录
StuData();
Student*searchnum(intStunum);
按学号搜索学生
Student*searchcla(intCla);
按班级搜索学生
voiddispbycla(intCla);
按班级显示学生
Student*searchname(char*Name);
按姓名显示学生
voiddispall();
显示所有学生信息
voidupcom(charName[20],intCla,intStunum,intComnum);
上机操作
voiddowncom(intStunum);
下机操作
intsearch();
搜索操作
~StuData();
析构函数
3.电脑类的定义:
Computer(电脑类)
删除标记
电脑号
Computer();
构造函数
voidsetcomnum(intComnum);
设置电脑号
intgetcomnum();
获取电脑号
voidupcom();
voiddowncom();
获取标记
4.电脑库类的定义:
ComData(电脑库类)
Computercomputer[30];
记录电脑
ComData();
Computer*searchcom();
搜索空闲电脑
Computer*searchnum(intComnum);
按电脑号搜索
intupcom();
voiddisp();
显示
~ComData();
析构函数
使用说明:
⒈本程序的运行环境为DOS操作系统,执行文件为:
机房管理系统.exe;
⒉进入演示程序后,即显示对话形式的提示操作过程,
⒊选择上机项后,输入上机学生的基本信息;
⒋选择下级项后,输入要下机学生的学号即可,系统自动给出上机总时间和费用;
⒌选择学生信息查询项后,可按各种信息搜索,选择相应选项即可;
⒍选择电脑使用情况项后,系统便会显示所有电脑的被使用情况。
主界面:
上机操作:
下机操作:
查询界面:
按姓名查询:
按学号查询:
按班级查询:
电脑的使用情况:
3、课程设计(综合实验)总结或结论
本次实验,时间比较仓促,很多细节都没有考虑好,也跟自己的经验不足有关吧,从开始的算法思路到运行调试后图形界面以及到程序的可用,都是一个学习和锻炼的过程。
从中培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。
使我们体会到自身知识和能力能在实际中的应用和发挥。
同时老师和同学对我进行了细心、耐心的指导,最终把程序调试成功。
感谢这次课程设计给我带来的全新知识和丰富经验。
我会把它换成我以后奋斗的源泉。
附录
-----------------------------------------------“Student.h”--------------------------------------------
#ifndefStudent_H_H
#defineStudent_H_H
typedeflongtime_t;
classStudent{
public:
Student();
//构造函数
voidupcom(charName[20],intCla,intStunum,intComnum);
//上机
intdowncom();
//下机
voiddelstu();
//更改上机标记
voidsetotime();
//获取下机时间
time_tgettime();
//获取当前时间
char*getname();
//获取姓名
intgetcla();
//获取班级
intgettag();
//获取上机标记
intgetstunum();
//获取学号
intgetcomnum();
//获取上机号
doublecountht();
//计算总上机时间
intcountm();
//计算上机费用
voiddisp();
//显示
voiddisp2();
private:
inttag;
charname[20];
intcla;
intstunum;
intcomnum;
time_tstime;
time_totime;
doublehtime;
intinthtime;
intmoney;
};
#endif
//--------------------------------------------“StuData.h”----------------------------------------------------
#ifndefStuData_H_H
#defineStuData_H_H
#include"
Student.h"
constintMAXS=30;
classStuData{
StuData();
Student*searchnum(intStunum);
//按学号搜索
Student*searchcla(intCla);
//按班级搜索
voiddispbycla(intCla);
//按班级显示
Student*searchname(char*Name);
//按姓名搜索
voiddispall();
//显示所有学生
voiddowncom(intStunum);
intsearch();
//机房学生查询
~StuData();
//析构函数
inttop;
Studentstudent[MAXS];
//--------------------------------------“Computer.h”----------------------------------------------------
#ifndefComputer_H_H
#defineComputer_H_H
classComputer{
Computer();
voidsetcomnum(intComnum);
//设置电脑号
//获取电脑号
voidupcom();
voiddowncom();
//--------------------------------------------“ComData.h”-------------------------------------------------------
#ifndefComData_H_H
#defineComData_H_H
Computer.h"
constintMAXC=30;
classComData{
ComData();
Computer*searchcom();
//搜索空闲电脑
Computer*searchnum(intComnum);
//按电脑号搜索电脑
intupcom();
~ComData();
Computercomputer[30];
//-----------------------------------------“Student.cpp”--------------------------------------------------------
#include"
#include<
iostream.h>
string.h>
time.h>
windows.h>
Student:
:
Student()//构造函数
{}
voidStudent:
upcom(charName[20],intCla,intStunum,intComnum)//上机
{
strcpy(name,Name);
tag=1;
cla=Cla;
stunum=Stunum;
comnum=Comnum;
stime=gettime();
}
intStudent:
downcom()//下机
//otime=gettime();
setotime();
delstu();
disp();
returncomnum;
delstu()//更改上机标记
tag=0;
setotime()//获取下机时间
otime=gettime();
time_tStudent:
gettime()//获取当前时间
returntime(NULL);
char*Student:
getname()//获取姓名
returnname;
getcla()//获取班级
returncla;
gettag()//获取上机标记
returntag;
getstunum()//获取学号
returnstunum;
getcomnum()//获取上机号
doubleStudent:
countht()//计算总上机时间
returndifftime(otime,stime);
countm()//计算上机费用
if(((int)countht())%3600==0)
return((int)countht())/3600;
return((int)countht()/3600)+1;
disp()//显示
cout<
<
"
姓名:
name<
"
班级:
cla<
学号:
stunum<
上机号"
comnum<
endl;
开始上机时间:
asctime(localtime(&
stime))<
上机总时间:
countht()/3600.00<
小时"
上机费用:
countm()<
元"
disp2()//显示
endl<
-----上机成功-----"
上机号:
//cout<
stime<
countht()<
//--------------------------------------------“StuData.cpp”--------------------------------------------------------
#include<
StuData.h"
fstream.h>
conio.h>
StuData:
StuData()//构造函数
Students;
top=-1;
ifstreamfin("
student.txt"
);
while
(1)
{
fin.read((char*)&
s,sizeof(s));
if(!
fin)
break;
top++;
student[top]=s;
}
fin.close();
Student*StuData:
searchnum(intStunum)//按学号搜索
for(inti=0;
i<
=top;
i++)
if(student[i].getstunum()==Stunum&
&
student[i].gettag()==1)
{
return&
student[i];
}
returnNULL;
Student*StuData:
searchcla(intCla)//按班级搜索
if(student[i].getcla()==Cla&
voidStuData:
dispbycla(intCla)//按班级显示
for(intj=0;
j<
j++)
if(student[j].getcla()==Cla&
student[j].gettag()==1)
student[j].disp();
cout<
searchname(char*Name)//按姓名搜索
strcmp(student[i].getname(),Name)&
dispall()//显示所有学生
if(student[i].gettag()==1)
student[i].setotime();
student[i].disp();
top++;
student[top].upcom(Name,Cla,Stunum,Comnum);
downcom(intStunum)//下机
Student*p;
p=searchnum(Stunum);
p->
downcom();
intStuData:
search()//机房学生查询
charchoice;
charname[20];
intstunum;
intcla;
Student*s;
while(choice!
='
0'
)
cout<
--------机房学生查询--------"
------1按姓名查询------"
------2按学号查询------"
------3按班级查询------"
------4全部学生信息------"
------0返回主菜单------"
cin>
>
choice;
switch(choice)
case'
1'
system("
cls"
请输入学生姓名:
cin>
name;
s=searchname(name);
if(s==NULL)
{
cout<
机房没有此人"
break;
}
s->
disp();
2'
请输入学生学号:
stunum;
s=searchnum(stunum);
3'
请输入班级号:
cla;
s=searchcla(cla);
机房没有该班级的人!
dispbycla(cla);
4'
------机房所有上机学生信息如下------"
dispall();
return0;
default:
输入有误,请重新输入:
按任意键返回"
getch(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华北 电力大学 科技学院 机房 计费 系统 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)