【c++】公司职员系统
来源:互联网 发布:淘宝购物车源代码 编辑:程序博客网 时间:2024/05/22 08:07
项目要求:
http://wenku.baidu.com/link?url=7W1Xe8gGtxs-uS-idLhFEEtPg_EIwlr7IdicivC5M7aDdy-QsUWjFx-qJz3f2_Zkh51mvKAHwoOVOjvXqVpfHSJpHw1tzaLmvMCYXyzkfNi
系统分成5个类:Employee基类,包含Manager类,SalesMan类,SalesManager类,Techicians类,EmployeeManager类(管理器类),头文件代码如下(cpp文件太多了,有需要的可以私信我):
#pragma onceenum 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;//记录对话框中上次选中的职员};
注:本文也是初学者,希望大家能共同学习!
0 0
- 【c++】公司职员系统
- 功能:做一个公司的职员薪水管理系统,要求完成如下功能:
- 从学生到公司职员的转变
- 从学生到公司职员(一)
- 一个公司职员讲的两个哲理故事
- 用数组和指针实现公司职员信息的管理程序
- A级职员打算离开公司的真正理由
- 我是马云:新入职员工勿批判公司
- IT公司的大敌:大批办公室职员拒绝科技产品
- java核心技术之 ArrayList应用 【职员薪水管理系统】
- C#餐厅管理系统5--餐桌和职员
- 在非技术公司做技术职员的一些切身感受
- 马云内部邮件:新入职员工勿批判公司
- 许单单奋斗记:从小职员到美基金公司分析师
- 使用类的继承和派生设计公司职员的信息管理
- 思科系统公司
- 公司雇员管理系统
- NNT公司管理系统
- IOS开发学习建议
- 【读书笔记】iOS网络-使用Bonjour实现自组织网络
- XCode将SingleView改变成空白模板
- Host、EndPoints及配置服务(二)
- javascript高级开发学习笔记十
- 【c++】公司职员系统
- 命名空间的解释
- Install the clients
- 【蓝桥杯】:李白打酒问题(递归重做)
- 分析一次springmvc的执行过程,springmvc如何处理请求
- Redis学习手册(事务)
- MongoDB(三)
- [iPhone] 开发过程中的一些小技术的总结
- struts2使用Filter作为Control实现sevlet转发功能