简单人事管理

来源:互联网 发布:销售数据统计论文 编辑:程序博客网 时间:2024/04/30 09:32
//person.h
#include<iostream.h>
#include<fstream.h>
#include<string.h>
struct Salary
{
    char aDuty[10];
    float sRadices;
    float sMutiple;
};
struct Employee
{
    int sNumber;
    char sName[15];
    char sDuty[10];
    float sPrize;
    float sExtra;
};
struct Mgr2Salers
{
    int aNumberfMgr;
    int saListofSalers[11];
};
class Person
{
    friend void operator + (Person &person,const float prize);
    friend void operator >> (Person *person,Employee &sEmployee);
public:
    Person(int number,char *name,float prize);
    ~Person();
    const int GetNumber()const 
    {return nNumber;}
    const char *GetName()const
    {return szName;}
    const char *GetDuty()const
    {return szDuty;}
    virtual float CalSalary()=0;//纯虚函数,计算不同职位人员的月薪
    virtual void Display();//虚函数,计算不同职位人员的信息
    virtual void Modify();//虚函数,修改不同职位人员的信息
    float fRadices,fMutiple;
protected:
    int nNumber;
    char *szName;
    float fSalary;
    char *szDuty;
    float fPrize;
};
//编号  姓名  职位  月薪  奖金 
class Boss:public Person
{
public:
    Boss(int number,char *name,float prize,float radices);
    virtual float CalSalary();
    virtual void Display();
    virtual void Modify();
private:
};
//编号  姓名  职位  月薪  奖金 加班时间 
class Worker:public Person
{
public:
    Worker(int number,char *name,float extra,float prize,float radices,float mutiple);
    const float GetExtra()const 
    {return fExtraTime;}
    virtual float CalSalary();
    virtual void Display();
    virtual void Modify();
protected:
    float fExtraTime;
};
//编号  姓名  职位  月薪  奖金 加班时间 
class Engineer:public Worker
{
public:
    Engineer(int number,char *name,float extra,float prize,float radices,float sutiple);
    virtual float CalSalary();
    virtual void Display();
    virtual void Modify();
protected:
};
//编号  姓名  职位  月薪  奖金 销售额 所属销售经理 
class Saler:public Person
{
public:
    Saler(int number,char *name,float sales,float prize,float radices,float mutiple);
    const float GetSales()const
    {return fSales;}
    const int GetSaleMgr()const
    {return nSaleMgr;}
    void SetSaleMgr(int salemgr)
    {nSaleMgr=salemgr;};
    virtual float CalSalary();
    virtual void Display();
    virtual void Modify();
protected:
    float fSales;
    int nSaleMgr;
};
//编号  姓名  职位  月薪  奖金 销售 人员列表[]
class SaleManager:public Person
{
public:
    SaleManager(int number,char *name,float prize,float radices,float mutiple);
    virtual float CalSalary();
    float CalSalary(float allsales); //重载函数CalSalary,传入函数为所管辖 //销售人员销售总额
    virtual void Display();
    virtual void Modify();
public:
    int aSalers[11];
}; 
原创粉丝点击