- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验十:综合练习
福建农林大学金山学院实验报告
系(教研室):信息与机电工程系 专业: 计算机科学与技术 年级: 2009
实验课程: 面向对象程序设计 姓名: 黄伟河 学号: 092231048 实验室号 612
计算机号 J612S048 实验时间: 2010/12/30 指导教师签字: 成绩:
实验10 综合练习
一、实验目的和要求
进一步巩固和提高对面向对象的基本概念、原理和机制的理解
二、实验内容和原理
某学校对教职工每月工资的计算规定如下:专职教师固定工资2000,再加上课时补贴20元/课时;行政人员只有固定工资3000元/每月;兼职教师只有课时补贴50元/课时。要求:
1、定义教职工抽象类,从而派生出专职教师类、行政人员类和兼职教师类;
2、读取“input.txt”文件中的数据,每行各组数据分别表示教职工类型、姓名、性别、年龄和课时数(其中教职工类型:整数1表示专职教师,整数2表示行政人员,整数3表示兼职教师);
3、计算每位教职工的工资,并把其所有相关信息输出到屏幕上(包括姓名、性别、年龄、课时数和计算出来的每月工资),要求所有数据全部右对齐,且阈宽为10;
4、分别计算每类教职工的平均工资,然后计算所有教职工的总体平均工资(采用动态联编),并把计算结果输出到文件“output.txt”中。
三、实验环境
1. 硬件:PC机;
2. 软件:Windows操作系统、Visual C++ 6.0
四、算法描述及实验步骤
#includeiostream
#includestring
#includefstream
#includeiomanip
using namespace std;
class staff
{
public:
static int totalno;
int no;
string name;
string sex;
int age;
float lessons;
float salary;
staff();
int getno();
string getname();
string getsex();
int getage();
float getlesson();
virtual float getsalary();
virtual float pay()=0;
};
class Fteacher:public staff //专职教师类
{
public:
Fteacher(){}
Fteacher(int No,string Name,string Sex,int Age,float Lessons)
{
no=No;
name=Name;
sex=Sex;
age=Age;
lessons=Lessons;
}
float pay();
};
class Astaff:public staff //行政人员类
{
public:Astaff(){}
Astaff(int No,string Name,string Sex,int Age,float Lessons)
{
no=No;
name=Name;
sex=Sex;
age=Age;
lessons=Lessons;
}
float pay();
};
class Pteacher:public staff //兼职教师类
{
public:
Pteacher(){}
Pteacher(int No,string Name,string Sex,int Age,float Lessons)
{
no=No;
name=Name;
sex=Sex;
age=Age;
lessons=Lessons;
}
float pay();
};
staff::staff(){}
int staff::getno(){return no;}
string staff::getname(){return name;}
float staff::getsalary(){return salary;}
float Fteacher::pay()
{
return 2000+lessons*20;
}
float Astaff::pay()
{
return 3000;
}
float Pteacher::pay()
{
return lessons*50;
}
float total(staff*s[],int n)
{
float sum=0;
for(int i=0;in;i++)
您可能关注的文档
- 安全生产部门负责人岗位职责.doc
- 安全用电与家庭电路调查.doc
- 安全管理先进个人申报材料.doc
- 安全管理检查评分表表.doc
- 安全经费预算.doc
- 安全设施“三同时”办事流程.doc
- 安全芯片通讯芯片设计行业300077 国民技术.doc
- 安全经验分享新编.ppt
- 安全防护红外栅栏周界系统方案.doc
- 安全防范小手册.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)