主题:跪求各位援助,,实验代码
erkai
[专家分:0] 发布于 2012-06-27 18:03:00
一类与对象的定义
1)定义员工类worker,其属性有工号id姓名name年龄age性别gender工资salary等,
2)计算工资最高者,最低着以及工资平均值;
3)比较男女员工的平均工资。
二继承和派生
1)定义人员类person,属性有:姓名,性别,年龄;
2)派生学生类student,属性有:学号,入学时间,入学成绩;
3)从person类再派生教师类teacher,属性有:职务,部门,工作时间:
4)student类派生研究生类graduate,属性有:研究方向和导师;
5)有graduate和teacher类派生研究生类和导师类supervisor,,
6)在每个类中实现对象的析构,构造,输入与输出;
7)在main()里定义对象和操作
跪求帮帮忙,,,,
回复列表 (共2个回复)
沙发
xiaomarge [专家分:1980] 发布于 2012-06-30 18:45:00
首先,将其中的所有年龄都替换成生日,数据管理杜绝年龄,工龄,学龄之类的时间段数据,要换成生日,参加工作时间,入学时间等,不然要有人每天不停的查看有没有人过生日,如果有要给他的年龄加一
板凳
xiaomarge [专家分:1980] 发布于 2012-06-30 19:17:00
#ifndef PERSON_H
#define PERSON_H
#include <vector>
#define male true
#define female false
using namespace std;
//职工信息类
class Worker
{
private:
int id;
char name[12];
int age;
bool gender;
float salary;
public:
Worker(){strcpy(name,"NoName");}
Worker(int i,char *n,int a,bool g,float s)
{
id=i;
strcpy(name,n);
age=a;
gender=g;
salary=s;
}
void setId(int i){id=i;}
int getId(void)const{return id;}
void setName(char *n){strcpy(name,n);}
char * getName(void)const{return name;}
void setAge(int a){age=a;}
int getAge(void)const{return age;}
void setGender(bool g){gender=g;}
bool getGender(void)const{return gender;}
void setSalary(float s){salary=s;}
float getSalary(void)const{return salary;}
void operator =(Worker other)
{
setId(other.getId());
setName(other.getName());
setAge(other.getAge());
setGender(other.getGender());
setSalary(other.getSalary());
}
};
//职工信息管理类
class WorkerManager
{
private:
vector<Worker> Workers;
vector<Worker>::iterator pos;
public:
WorkerManager(){}
void addWorker(Worker w)
{
Workers.push_back(w);
}
Worker getMaxSalary(void)
{
Worker w;
w.setSalary(-1e6);
for(pos=Workers.begin();pos<Workers.end();pos++)
{
if((*pos).getSalary()>w.getSalary())
{
w=(*pos);
}
}
return w;
}
double getAverSalary(bool g)
{
float s;
int Found;
s=0.0;
Found=0;
for(pos=Workers.begin();pos<Workers.end();pos++)
{
if((*pos).getGender()==g)
{
s+=(*pos).getSalary();
Found++;
}
}
if(Found>0)return s/Found;
else return 0;
}
void compareSalary(void)
{
if(getAverSalay(male)>getAverSalary(female))
{
//男职工平均工资高于女职工
}
else
{
//女职工平均工资高于男职工
}
}
};
#endif // PERSON_H
第二个可以参照这个编写
我来回复