⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 employee_manager.cpp

📁 这是一个用VC++编的一个员工管理的程序。
💻 CPP
字号:
#include<iostream.h>
#include<string.h>
const  Max=10;
class Employee
{
private:
	float performance;
protected:
	char name[10];
	int grade;
	float salary;
public:
	Employee ()
	{
		cout<<"姓名:";
		cin>>name;
		cout<<"级别(1,2,3):";
		cin>>grade;
	}
	void setPerformance()
	{
		cout<<"输入绩效:";
		cin>>performance;
	}
	virtual float calculate(float base)
	{
		salary=base*grade+performance;//bs*grade+perroemance
		return salary;
	}
	virtual void display()
	{
		//cout<<"姓名"<<"    "<<"级别"<<"    "<<"绩效工资"<<"   "<<"工资"<<endl;
		cout<<name<<"    "<<grade<<"    "<<performance<<"     "<<salary<<endl;
	}
	virtual int getFlesh(){return 0;}
};

class Manager:public Employee
{
private:
	int flesh;
	float pleased;
public:
	Manager():Employee()
	{
		cout<<"下属人数";
		cin>>flesh;
		cout<<"满意度(0-100%)";
		cin>>pleased;
	}
	int getFlesh()
	{
		return flesh;
	}	
	float calculate(float base)
	{
		salary=base*grade*pleased+1000;//bs*grade*pleased+1000
		return salary;
	}
	void display()
	{
		//Employee::disp();
		//cout<<"下属人数"<<"满意度"<<endl;
		cout<<name<<"   "<<grade<<"   "<<flesh<<"    "<<pleased<<"   "<<salary<<endl;
	}
};
class Department
{
private:
	int deptID;
	float basicSalary;
	Employee *empPtr[Max];
public:
	Department()
	{	int i;
		cout<<"部门ID(1--生产;2--销售)"<<endl;
		cin>>deptID;//输入部门类别
		if (deptID==1) 
			basicSalary=1000;
		else
			basicSalary=900;

		empPtr[0]=new Manager;	//创建一个主管
		//cout<<empPtr[0]->getFlesh()<<endl;
		for(i=1;i<=empPtr[0]->getFlesh();i++)
		{
			empPtr[i]=new Employee;		//empPtr[0]->下属人数
			empPtr[i]->setPerformance();
		}
	}
		void empdisplay()
		{	int i;
			float totalSalary=0;
			if(deptID==1)
			{
				cout<<"生产部门工资统计如下:";
			}
			else
				cout<<"销售部门工资统计如下:";
			cout<<"主管:     \n";
			cout<<"姓名     级别       满意度       工资         \n";
			cout<<"-------------------------------------------------\n";
			totalSalary=empPtr[0]->calculate(basicSalary);
			cout<<empPtr[0]->calculate(basicSalary)<<endl;
			empPtr[0]->display();
			
			cout<<"员工:\n";
			cout<<"姓名     级别       绩  效       工资         \n";
			cout<<"-------------------------------------------------\n";

			for(i=1;i<=empPtr[0]->getFlesh();i++)
			{
				totalSalary+=empPtr[i]->calculate(basicSalary);
				//cout<<empPtr[0]->calculate(basicSalary)<<endl;
				empPtr[i]->display();
			}
			cout<<"-----------------------------------\n";
			cout<<"                   部门总工资:"<<totalSalary;
			
		}
	

};
void main()
{
	Department dept;
	dept.empdisplay();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -