【文件属性】:
文件名称:c++源码,一个工资管理系统
文件大小:4KB
文件格式:CPP
更新时间:2012-05-30 15:29:32
c++
一个初学者用c++编的小系统,用到了类等,界面友好,对各个雇员的工资管理
#include
#include
#include
using namespace std;
class employee
{
protected:
char name[20]; //姓名
int individualEmpNo;//个人编号
int grade; //级别
float accumPay; //月薪总额
static int employeeNo;//本公司职员编号目前最大值
public:
employee();
~employee();
virtual void pay()=0;//计算月薪纯虚函数
virtual void promote(int increment=0);//升级函数
void SetName(char * ); //设置姓名函数
char * GetName(); //提取姓名函数
int GetindividualEmpNo(); //提取编号函数
int Getgrade(); //提取级别函数
float GetaccumPay(); //提取月薪函数
};
class technician:public employee//兼职技术人员类
{
private:
float hourlyRate;//每小时酬金
int workHours;//当月工作时数
public:
technician();
void SetworkHours(int wh);
void promote(int);
void pay();
};
class salesman:virtual public employee//兼职推销员类
{
protected:
float CommRate;//按销售额提取酬金的百分比
float sales;//当月销售额
public:
salesman();
void Setsales(float sl);
void pay();
void promote(int);
};
class manager:virtual public employee//经理类
{
protected:
float monthlyPay;
public:
manager();
void pay();
void promote(int);
};
class salesmanager:public manager,public salesman //销售经理类
{
public:
salesmanager();
void pay();
void promote(int);
};
int employee::employeeNo=1; //员工编号基数为1
employee::employee()
{
individualEmpNo=employeeNo++;
grade=1;//级别初值为1
accumPay=0.0;}//月薪总额初值为0
employee::~employee(){}
void employee::promote(int k) //升级,提升的级数由k指定
{
grade+=k;}
void employee::SetName(char*names)
{
strcpy(name,names); //设置姓名
}
char* employee::GetName()
{
return name;} //提取成员姓名
int employee::GetindividualEmpNo()
{
return individualEmpNo;} //提取成员编号
int employee::Getgrade()
{
return grade;} //提取成员级别
float employee::GetaccumPay()
{
return