【c++】公司职员系统

原创 2015年11月18日 09:17:43

项目要求:

http://wenku.baidu.com/link?url=7W1Xe8gGtxs-uS-idLhFEEtPg_EIwlr7IdicivC5M7aDdy-QsUWjFx-qJz3f2_Zkh51mvKAHwoOVOjvXqVpfHSJpHw1tzaLmvMCYXyzkfNi

系统分成5个类:Employee基类,包含Manager类,SalesMan类,SalesManager类,Techicians类,EmployeeManager类(管理器类),头文件代码如下(cpp文件太多了,有需要的可以私信我):


#pragma once

enum Sex
{
    MALE,
    FEMALE,
};

enum Department
{
    DEPARTMENT_1,
    DEPARTMENT_2,
    DEPARTMENT_3,
    DEPARTMENT_4,
};

enum EmployeeType
{
    MANAGER,
    TECHNICIAN,
    SALESMAN,
    SALESMANAGER,
};


#pragma once
#include "Enum.h"

class CEmployee
{
public:
    CEmployee();
    CEmployee(const CEmployee& Ep);
    ~CEmployee();

    void SetName(const char* pstrName);
    void SetNumber(const int nNumber);
    void SetSex(const Sex nSex );
    void SetDepartment(const Department nDep);
    void SetGrade(const int nGrade);

    const char* GetName() const;
    const int GetNumber() const;
    int GetSex() const;
    int GetDepartment()const;
    const int GetGrade() const;

    //判断两个职员的名字是否相同   
    bool IsSameName(char* pName,int nNum)const;

    //拷贝构造函数,深拷贝指向职员基类的指针
    virtual CEmployee* Copy();
    virtual double GetSalary() const;
    virtual EmployeeType GetEmployeeType() const;

protected:
    //初始化基类中的数据成员
    void Init(int nNum,char* pstrName,Sex nSex,
              Department nDepartment,int nGrade);

private:
    char*        m_pstrName;      //职员姓名
    int          m_nNumber;       //职员编号
    Sex          m_nSex;          //职员性别
    Department   m_nDepartment;   //职员所在部门
    int          m_nGrade;        //职员级别
    EmployeeType m_nET;           //职员职务
};

#pragma once
#include "Employee.h"


class CManager : public CEmployee
{
public:
    CManager();
    //自定义构造函数
    CManager(int nNum,char* pstrName,Sex nSex,
             Department nDepartment,int nGrade,double m_dFixSalary);
    ~CManager();
    //拷贝构造函数
    CManager(const CManager& Mgr);

    void SetFixSalary(double dSalary);

    virtual double GetSalary()const;
    virtual EmployeeType GetEmployeeType()const;
    virtual CEmployee* Copy();

private:    
    double m_dFixSalary;

};
#pragma once
#include "Employee.h"

class CSalesMan : public CEmployee
{
public:
    CSalesMan();
    ~CSalesMan();
    CSalesMan(const CSalesMan& SM);
    CSalesMan(int nNum,char* pstrName,Sex nSex,
        Department nDepartment,int nGrade,double dSalesVolume);

    void SetSalesVolume(double dSalesVolume);

    virtual double GetSalary()const;
    virtual EmployeeType GetEmployeeType()const;
    virtual CEmployee* Copy();
private:
    double m_dSalesVolume;
};

#pragma once
#include "Employee.h"

class CSalesManager : public CEmployee
{
public:
    CSalesManager();
    ~CSalesManager();

    CSalesManager(int nNum,char* pstrName,Sex nSex,
                  Department nDepartment,int nGrade,double dSalesVolume,double dFixSalary);
    CSalesManager(const CSalesManager& SMgr);

    
    void SetSalesVolume(double dSalesVolume);
    void SetFixSalary(double dFixSalary);
    virtual double GetSalary() const;
    virtual EmployeeType GetEmployeeType()const;
    virtual CSalesManager* Copy();
private:
    double m_dSalesVolume;
    double m_dFixSalary;

};

#pragma once
#include "Employee.h"

class CTechnician:public CEmployee
{
public:
    CTechnician();
    ~CTechnician();
    CTechnician(int nNum,char* pstrName,Sex nSex,
                Department nDepartment,int nGrade,double dWorkTime);
    CTechnician(const CTechnician& Tec);

    void SetWorkTime(double dWorkTime);
    virtual double GetSalary()const;
    virtual EmployeeType GetEmployeeType()const;
    virtual CTechnician* Copy();
private:
    double m_dWorkTime;

};
#pragma once
#include "stdafx.h"
#include <vector>
#include "Manager.h"
#include "SalesMan.h"
#include "Technicians.h"
#include "SalesManager.h"

using namespace std;

class CEmployeeManager
{
public:
    CEmployeeManager();
    ~CEmployeeManager();
    CEmployeeManager(CEmployeeManager& EmpMgr);

    //增删查方法
    void Add(CEmployee* pE);
    void Delete(const int nIndex);
    CEmployee* Find(char* strName) const;

    //获取容器中第i(nIndex)个容器
    CEmployee* GetEmployee(int nIndex);
    CEmployeeManager* Copy();
    //将管理器中的数据拷贝到另一管理器中
    void CopyTo(CEmployeeManager*)const;

    //获得容器中职员个数
    int GetSize();
    //获取容器中上次选中职员的在容器中的位置
    int GetPreSel()const;
    //设置容器中下次选中职员在容器中的位置
    void SetPreSel(int nIndex);
    //删除容器及其中的指针
    void DeleteVector();
    //仅删除容器中的指针
    void Clear();

private:
    std::vector <CEmployee*>     m_vEM;    //职员管理器指针
    int                          m_nPreSel;//记录对话框中上次选中的职员
};

注:本文也是初学者,希望大家能共同学习!



jsp入门案例 用户管理系统 mvc模式

工程结构如下,其中,图上少了main.jsp界面。该界面为主界面,提供跳转到增,删,查,改,界面的超链接 部分功能未实现 开发环境如下:ubuntu 14.04 +myeclipse 2014 +t...
  • M173475237
  • M173475237
  • 2015年02月13日 22:58
  • 4601

C++课程设计 — 公司设备管理系统

#include #include #include #include #include #include #include #include #define H "---------------...
  • LYHVOYAGE
  • LYHVOYAGE
  • 2013年12月29日 21:32
  • 2969

c++版本的员工管理系统

#include #include #include #include #include using namespace std; class Employee { public: ...
  • woshinannan741
  • woshinannan741
  • 2015年04月30日 23:01
  • 1660

用C++实现员工管理系统

职工信息管理系统: 1. 存在一个数据文件,用来存储职工各种信息:职工号,姓名,年龄,性别,邮编,部门,工资 2. 可以注册新职工; 3. 允许修改职工信息 4. 允许删除职工信息; 5,按...
  • qq_37018433
  • qq_37018433
  • 2017年02月04日 19:10
  • 3438

C++员工管理小程序

#include #include "gongneng.h" #include using namespace std; int main() {      vect...
  • JUST_HUA
  • JUST_HUA
  • 2017年02月06日 20:51
  • 255

[java] 发一个企业人员管理系统的代码

———-写在前面这是java的一次作业,代码有的地方不完善,比如有用户名重复输入的检验并没有写。。第一次写,来记录我的代码历程吧。。。。如果有人能看到我发的就好了。。。———-作业内容 第7周上机作...
  • manvswilds
  • manvswilds
  • 2015年11月05日 21:24
  • 2550

走进C++程序世界---------雇员工资管理系统

前面对C++ 面向对象的基本了解和认识,下面来运用前面的基础知识,来实现一个简单的雇员工资管理系统,雇员分为2中,普通员工和管理者,两者工资和工作年限挂钩。具体参见下图: 具体实现参见下面的代码:...
  • jsh13417
  • jsh13417
  • 2014年04月28日 10:12
  • 2885

【c++面向对象编程】工资管理系统

1、名词实际上就是对象(员工派生出老员工、新员工) 2、利用虚函数实现多态 3、对象指针数组 头文件 #include #include using namespace std; clas...
  • guomutian911
  • guomutian911
  • 2015年10月27日 22:37
  • 973

(C++)员工工资管理系统

#include #include #include #include"guanli.h" #include #include using namespace std; int main() {...
  • qq_35957011
  • qq_35957011
  • 2017年03月28日 19:58
  • 1631

某公司初中级C++笔试题目

初试试题(复试从里边抽查现场做) 姓 名: 应聘职位: 学 ...
  • InvisibleMiner02
  • InvisibleMiner02
  • 2014年12月19日 16:57
  • 1735
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【c++】公司职员系统
举报原因:
原因补充:

(最多只允许输入30个字)