类与对象报告.docx

上传人:b****3 文档编号:4230966 上传时间:2022-11-28 格式:DOCX 页数:17 大小:62.84KB
下载 相关 举报
类与对象报告.docx_第1页
第1页 / 共17页
类与对象报告.docx_第2页
第2页 / 共17页
类与对象报告.docx_第3页
第3页 / 共17页
类与对象报告.docx_第4页
第4页 / 共17页
类与对象报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

类与对象报告.docx

《类与对象报告.docx》由会员分享,可在线阅读,更多相关《类与对象报告.docx(17页珍藏版)》请在冰豆网上搜索。

类与对象报告.docx

类与对象报告

北京建筑大学

理学院《面向对象程序设计》课程实验报告

课程名称《面向对象程序设计》实验名称类与对象实验地点日期____________

姓名班级学号指导教师成绩

【实验目的和要求】

实验目的:

1、熟悉类的定义及使用;

2、熟悉构造函数、析构函数及执行过程;

3、熟悉类的各种调用方法(类作为对象成员、动态调用、对象数组、const对象)。

实验要求:

(1)类的定义中必须包含构造函数和析构函数;

(2)录入数据每类人员不少于5人;

(3)主函数中包含对象的动态调用;

【实验内容】

某公司有四类员工,现在需要存储这些员工的姓名、编号、工龄,计算总工资并显示姓名、编号和总工资信息。

对每类员工工资的计算方法不同。

下表是这些员工的工资计算办法,工龄作为已知量从键盘输入。

如经理的总工资=固定工资+工龄工资,而工龄工资=工龄*年增加量。

员工工资计算方法

人员类别

固定工资

计时(元/小时)

工龄年增加(元)

销售提成

经理

50

工人

100

50

销售经理

50

5%

销售员

50

5%

四类员工的信息存在四个对象数组中。

要求通过本系统实现以下功能:

1)完成添加员工的基本信息;

2)根据员工编号计算、查询其工资情况;

3)员工信息的显示;

4)能够显示员工总人数。

【实验步骤】

1.定义类basic,属性包括员工姓名,工号,工龄。

2.分别定义Manager,Worker,SalesManager,Sales四个类,将basic作为这四个类的基类,按照题目要求为其定义属性。

Get_函数和display_函数,分别用来输入员工属性和显示员工信息。

3.在类外定义shurugongren,shurujingli,shuruxiaoshou,shuruxiaoshouyuan这四个子函数,用来输入并显示员工信息。

4.在主函数中建立菜单,通过选择的方法调用子函数。

【实验结果】

1.进入主菜单,选择1

 

进入“输入与查询基本信息”菜单,选择1

 

进入“输入并查询经理基本信息”菜单,根据提示信息输入员工信息,并通过输入员工号来查询员工工资等信息

2.“工人信息录入并查询”,“销售经理信息录入并查询”,“销售员信息录入并查询”与“经理信息录入并查询”原理类似,不一一演示,现在输入5,查询员工总数。

 

3.选择2,退出公司管理系统。

 

【总结】

1.关于类与基类,主函数与子函数的调用有了更深刻的认识。

2.设置静态变量,统计员工总数,对静态这一概念更加清晰。

3.用到了指针的方法对对象进行动态调用,复习了指针的知识。

4.继承的方法,在不利用友元函数破坏其封装性的情况下,引用基类中的属性。

5.体会到了c++与c语言的不同之处,语言的精简之处。

【附录】

#include

#include

#include

usingnamespacestd;

classbasic

{

protected:

charname[20];

intnumber;

intold;

public:

staticintCount;

Get_b()

{

cout<<"姓名:

";

cin>>name;

cout<<"工号:

";

cin>>number;

cout<<"工龄:

";

cin>>old;

Count++;

}

intNum(){returnnumber;}

};

intbasic:

:

Count=0;

classManager:

publicbasic

{

protected:

intzSalary,guSalary,tSalary;

public:

staticintCount1;

voidGet_M()

{

cout<<"固定工资:

";

cin>>guSalary;

Count1++;

}

voiddisplay_M()

{

tSalary=50*old;

zSalary=guSalary+tSalary;

cout<<"员工姓名:

"<

"<

"<

"<

"<

}

};

intManager:

:

Count1=0;

 

classWorker:

publicbasic

{

protected:

intzSalary,guSalary,hour,jSalary,tSalary;

public:

staticintCount2;

voidGet_W()

{

cout<<"工作时间:

";

cin>>hour;

cout<<"固定工资:

";

cin>>guSalary;

Count2++;

}

voiddisplay_W()

{

jSalary=100*hour;

tSalary=50*old;

zSalary=guSalary+jSalary+tSalary;

cout<<"员工姓名:

"<

"<

"<

"<

"<

"<

"<

}

};

intWorker:

:

Count2=0;

classSalesManager:

publicbasic

{

protected:

doublezSalary,guSalary,tSalary,xSalary,x;

public:

staticintCount3;

voidGet_SM()

{

cout<<"固定工资:

";

cin>>guSalary;

cout<<"销售额:

";

cin>>x;

Count3++;

}

voiddisplay_SM()

{

xSalary=0.05*x;

tSalary=50*old;

zSalary=guSalary+tSalary+xSalary;

cout<<"员工姓名:

"<

"<

"<

"<

"<

"<

"<

}

};

intSalesManager:

:

Count3=0;

classSales:

publicbasic

{

protected:

doublezSalary,tSalary,xSalary,x;

public:

staticintCount4;

voidGet_S()

{

cout<<"销售额:

";

cin>>x;

Count4++;

}

voiddisplay_S()

{

xSalary=0.05*x;

tSalary=50*old;

zSalary=tSalary+xSalary;

cout<<"员工姓名:

"<

"<

"<

"<

"<

}

};

intSales:

:

Count4=0;

voidshurujingli()

{

ManagermyManager[10];

Manager*myManage=myManager;

cout<<"请录入经理基本信息:

"<

for(;myManage<(myManager+10);myManage++)

{

myManage->Get_b();

myManager->Get_M();

cout<<"是否继续?

"<<"0:

继续1:

停止"<

inta1;

cout<<"请输入";

cin>>a1;

if(a1==1)break;

}

cout<<"经理有"<

:

Count1<<"名"<

cout<

"<

intnumber1;

cout<<"请录入员工工号:

";

cin>>number1;

for(;myManage<(myManager+Manager:

:

Count1);myManage++)

{

if(number1==myManage->Num())

myManage->display_M();

}

}

voidshuruxiaoshou()

{

SalesManagermySalesManager[10];

SalesManager*mySalesManage=mySalesManager;

cout<<"请录入销售经理基本信息:

"<

for(;mySalesManage<(mySalesManage+10);mySalesManage++)

{

mySalesManage->Get_b();

mySalesManage->Get_SM();

cout<<"是否继续?

"<<"0:

继续1:

停止"<

inta3;

cout<<"请输入";

cin>>a3;

if(a3==1)break;

}

cout<<"销售经理有"<

:

Count3<<"名"<

cout<

"<

intnumber3;

cout<<"请录入员工工号:

";

cin>>number3;

for(;mySalesManage<(mySalesManager+SalesManager:

:

Count3);mySalesManage++)

{

if(number3==mySalesManage->Num())

mySalesManage->display_SM();

}

}

voidshurugongren()

{

WorkermyWorker[10];

Worker*myWorke=myWorker;

cout<<"请录入工人基本信息:

"<

for(;myWorke<(myWorker+10);myWorke++)

{

myWorke->Get_b();

myWorke->Get_W();

cout<<"是否继续?

"<<"0:

继续1:

停止"<

inta2;

cout<<"请输入";

cin>>a2;

if(a2==1)break;

}

cout<<"工人有"<

:

Count2<<"名"<

cout<

"<

intnumber2;

cout<<"请录入员工工号:

";

cin>>number2;

for(;myWorke<(myWorker+Worker:

:

Count2);myWorke++)

{

if(number2==myWorke->Num())

myWorke->display_W();

}

}

voidshuruxiaoshouyuan()

{

SalesmySales[10];

Sales*mySale=mySales;

cout<<"请录入销售员基本信息:

"<

for(;mySale<(mySales+10);mySale++)

{

mySale->Get_b();

mySale->Get_S();

cout<<"是否继续?

"<<"0:

继续1:

停止"<

inta4;

cout<<"请输入";

cin>>a4;

if(a4==1)break;

}

cout<<"销售员有"<

:

Count4<<"名"<

cout<

"<

intnumber4;

cout<<"请录入员工工号:

";

cin>>number4;

for(;mySale<(mySales+Sales:

:

Count4);mySale++)

{

if(number4==mySale->Num())

mySale->display_S();

}

}

voidzongshu()

{

cout<<"员工总数为:

"<

:

Count<<"人"<

}

 

intmain()

{

while

(1)

{

system("cls");

cout<<"**************************公司管理系统**************************\n";

cout<<"1.录入并查询员工基本信息"<

cout<<"请选择:

";

inta;

cin>>a;

if(a==1)

{

system("cls");

cout<<"**************************输入与查询基本信息**************************\n";

cout<<"1.经理信息录入并查询"<

intb;

cout<<"请选择:

";

cin>>b;

if(b==1)

{

system("cls");

cout<<"**************************经理基本信息输入并查询**************************\n";

shurujingli();

cout<

0.是1.否"<

intf1;

cin>>f1;

if(f1==0)

system("cls");

if(f1==1)

exit(0);

}

if(b==2)

{

system("cls");

cout<<"**************************销售经理基本信息输入并查询**************************\n";

shuruxiaoshou();

cout<

0.是1.否"<

intf2;

cin>>f2;

if(f2==0)

system("cls");

if(f2==1)

exit(0);

}

if(b==3)

{

system("cls");

cout<<"**************************工人基本信息输入并查询**************************\n";

shurugongren();

cout<

0.是1.否"<

intf3;

cin>>f3;

if(f3==0)

system("cls");

if(f3==1)

exit(0);

}

if(b==4)

{

system("cls");

cout<<"**************************销售员基本信息输入并查询**************************\n";

shuruxiaoshouyuan();

cout<

0.是1.否"<

intf4;

cin>>f4;

if(f4==0)

system("cls");

if(f4==1)

exit(0);

}

if(b==5)

{

system("cls");

zongshu();

cout<

0.是1.否"<

intf5;

cin>>f5;

if(f5==0)

system("cls");

if(f5==1)

exit(0);

}

elseif(b!

=1&&b!

=2&&b!

=3&&b!

=4&&b!

=5)

{

cout<<"错误"<

cout<

0.是1.否"<

intf6;

cin>>f6;

if(f6==0)

system("cls");

if(f6==1)

exit(0);

}

}

if(a==2)

exit(0);

}

system("cls");

return0;

}

 

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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