华北电力大学科技学院机房计费系统实验报告Word下载.docx

上传人:b****8 文档编号:22672642 上传时间:2023-02-05 格式:DOCX 页数:29 大小:85.50KB
下载 相关 举报
华北电力大学科技学院机房计费系统实验报告Word下载.docx_第1页
第1页 / 共29页
华北电力大学科技学院机房计费系统实验报告Word下载.docx_第2页
第2页 / 共29页
华北电力大学科技学院机房计费系统实验报告Word下载.docx_第3页
第3页 / 共29页
华北电力大学科技学院机房计费系统实验报告Word下载.docx_第4页
第4页 / 共29页
华北电力大学科技学院机房计费系统实验报告Word下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

华北电力大学科技学院机房计费系统实验报告Word下载.docx

《华北电力大学科技学院机房计费系统实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《华北电力大学科技学院机房计费系统实验报告Word下载.docx(29页珍藏版)》请在冰豆网上搜索。

华北电力大学科技学院机房计费系统实验报告Word下载.docx

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(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1