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

该博客介绍了使用C++编程实现的一个员工工资管理系统,包括Date、Department、Employee、Technician、Saler、Manager和SalerManager等类的设计,以及它们之间的组合关系。系统包含了主控模块、信息添加、查询、删除、显示、部门管理和工资排序等功能。
摘要由CSDN通过智能技术生成

 

类的抽象与类间关系

Ø Date类:日期类,表示一个日期

Ø Department类:表示部门类。

Ø Employee类:表示员工的抽象类。

Ø Technician类:表示技术员类。

Ø Saler类:表示销售员类。

Ø Manager类:表示经理类。

Ø SalerManager类:表示销售经理类。

类间关系——组合关系,如下图如下。

 

 

 

 

1 主控模块运行界面

Center

 

2 添加信息模块运行界面

Center

 

 

 

3 查询信息模块运行界面

 

Center

 

 

4.删除信息模块运行界面

Center

 

 

 

 

5 显示信息模块运行界面

Center

 

 

 

6 部门管理运行界面

Center

 

 

 

7 部门信息浏览界面

Center

 

 

 

8 按部门统计信息界面

Center

 

 

 

9 工资排序运行界面

Center

 

 

 

10 部门相关操作运行界面

 

 

Center

 

 

 

 

11 退出模块运行界面

Center

 

部分代码:

 

 

//data.h	//类的设计	//类的设计
#ifndef _EMPLOYEE
#define _EMPLOYEE

#include <map>
#include "define.h"
#include <string>
#include <fstream>
#include <iostream>
using namespace std;

/*日期类*/
class Date
{
protected:
	int age;
	int year;
	int month;
	int day;
public:  
	void Init(int y, int m, int d);
	int GetYear();
	int GetMonth();
	int GetDay();
	int GetAge();
};
/*部门类*/
class Department
{
protected:
	static int dCount;		//部门数目
	string *str;			//储存所有部门
	int *bianhao;			//部门编号 
public:
	Department();					//默认构造函数
	~Department();					//清理动态申请的空间
	void InitDep(string *s, int *b, int length);	//加载文件后初始化部门信息

	string Check(string d);			//查找是否有这个部门  <绑定关系>
	void Add(string NewDep);		//添加部门
	void Delete(string OldDep);		//删除部门
	void Modify(string OldDep, string NewDep);	//修改部门的名字   depNa原来部门的名字  dep_Na修改后的名字	
	void Scan();					//浏览部门

	int GetDNumber(string d);		//获取部门编号
	static int GetDCount();			//获取部门数目
	string GetDep(int choice);		//获取所需部门
};

/*员工抽象类*/
class Employee				//派生类成员函数可以访问直接基类的保护成员,但派生的派生则不可以
{
protected:
	static int eCount;				//员工数目
	static int MaxNum;				//最大工号
	int number;						//工号 (系统自动赋值  不输入)
	int age;						//年龄
	float salary;					//当月工资
	string name;					//姓名
	string sex;						//性别
	string department;				//员工所属的部门
	Department dep;					//部门  (类的组合)
	string job;						//岗位	
	Date date;						//日期类
public:
	Employee();						//无参(默认)构造函数
	void Init();					//初始化员工   基本信息
	virtual void Output();			//输出员工信息	(虚函数 动态多态性)
	Employee &operator =(const Employee &obj);	//重载=

	static int GetECount();				//获取员工数目
	int GetNumber();					//获取工号     
	int GetAge();						//获取员工年龄
	float GetSalary();					//获取员工当月工资
	string GetName();					//获取员工姓名
	string GetSex();					//获取员工性别
	string GetJob();					//获取员工岗位
	string GetDepartment() const;		//获取员工的部门

	void SetMaxNum(int m);				//加载文件后设置初始化最大工号
	void SetECount(int size);			//修改员工数目
	void SetName(string tname);			//修改姓名
	void SetSex(string tsex);			//修改性别
	void SetAge(int tage);				//修改年龄
	void SetJob(string tjob);			//修改岗位	
	void SetSalary(float tsalary);		//修改当月工资
	void SetDep(string tdepart);		//修改员工所属的部门 

	void InitDep(string *s, int *b, int length);		//初始化部门信息
	string Check(string d);								//查找是否有这个部门  <绑定关系>
	void AddDep(string NewDep);							//添加部门
	void DeleteDep(string OldDep);						//删除部门
	void ModifyDep(string OldDep, string NewDep);		//修改部门的名字
	void BrowseDep();									//浏览部门
	int GetDNumber(string d);							//获取部门编号
	int GetDCount() const;								//获取部门数目
	string GetDep(int choice);							//获取所需部门
};

/*技术员类*/
class Technician :virtual public Employee			//虚基类继承(至多调用一次虚基类的
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原来是阿中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值