📄 人事管理.h
字号:
class Employee
{
protected:
int NO;
char name[10];
int GZcode;
int ZWcode;
int month;
double salary;
public:
void addEmployee(); //增加员工信息
void delEmployee(); //删除员工信息
void statusChange(); //改变员工柜组或职务
void findStatus(); //查询员工代码
void recordSalary(); //记录员工工资
void Query(); //查询员工信息
friend void in_message();
};
class Salesman:public Employee
{public:
void Salary()
{
cout<<"请输入其当月销售额: ";
double s;
cin>>s;
salary=2000+s*0.05;
}
};
class Manager:public Employee
{public:
void Salary()
{
cout<<"请输入其当月销售额: ";
double s;
cin>>s;
salary=4000+s*0.005;
}
};
class Warehouseman:public Employee
{public:
void Salary()
{
cout<<"请输入其当月表现应得的奖金额: ";
double s;
cin>>s;
salary=3000+s;
}
};
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
#include<string.h>
int m=0; int k=0;
Employee a[30];
void in_message()
{
ifstream p;
p.open("D:\\员工信息.txt",ios::nocreate);
if(!p.is_open())
cout<<"没有任何员工信息!! 返回上级! \n";
m=0;
while(!p.eof())
{
p>>a[m].NO>>a[m].name>>a[m].GZcode>>a[m].ZWcode;
m++;
}
p.close();
}
void Employee::addEmployee()
{
Employee b;
cout<<"请输入新添员工信息:\n";
cout<<"编号: ";
cin>>b.NO;
cout<<"姓名: ";
cin>>b.name;
cout<<"所在柜组的代码(1食品2服装3电器): ";
cin>>b.GZcode;
cout<<"职务代码(1销售员2经理3库管): ";
cin>>b.ZWcode;
ofstream p;
p.open("D:\\员工信息.txt",ios::app);
p<<setw(6)<<b.NO<<setw(8)<<b.name<<setw(10)<<b.GZcode<<setw(10)<<b.ZWcode<<endl;
p.close();
}
void Employee::delEmployee()
{
in_message();
ofstream p;
cout<<"请选择要删除员工的编号: \n";
int n=0;
cin>>n;
p.open("D:\\员工信息.txt");
for(k=0;k<m-1;k++)
if(n!=a[k].NO)
p<<setw(6)<<a[k].NO<<setw(8)<<a[k].name<<setw(10)<<a[k].GZcode<<setw(10)<<a[k].ZWcode<<endl;
p.close();
cout<<"删除成功!"<<endl;
}
void Employee::findStatus()
{
in_message();
cout<<"请输入要查找编号员工的姓名: ";
char na[10];
cin>>na;
for(k=0;k<m-1;k++)
if(strcmp(na,a[k].name)==0)
{cout<<a[k].name<<"的柜组代码为: "<<a[k].GZcode<<" "
<<"职务代码为: "<<a[k].ZWcode<<endl; }
if(k==m-1)
cout<<"没有此人信息!\n";
}
void Employee::Query()
{
in_message();
cout<<"员工信息: \n"
<<setw(6)<<"编号"<<setw(8)<<"姓名"<<setw(10)<<"柜组代码"<<setw(10)<<"职务代码"<<endl;
for(k=0;k<m-1;k++)
cout<<setw(6)<<a[k].NO<<setw(8)<<a[k].name<<setw(10)<<a[k].GZcode<<setw(10)<<a[k].ZWcode<<endl;
}
void Employee::statusChange()
{
in_message();
ofstream p;
cout<<"请输入要更改柜组或职务员工的编号: \n";
int n=0;
cin>>n;
for(k=0;k<m-1;k++)
if(n==a[k].NO)
{cout<<a[k].name<<"的柜组代码为:"<<a[k].GZcode<<" "<<"职务代码为:"<<a[k].ZWcode<<endl
<<"请选择更改项目: 1.柜组代码 2.职务代码 \n";
goto a;}
cout<<"没有这个员工代码,请查询在改!"<<endl; return;
a: cin>>n;
switch(n)
{
case 1:
cout<<"请输入新的柜组代码:";
cin>>a[k].GZcode;
break;
case 2:
cout<<"请输入新的职务代码:";
cin>>a[k].ZWcode;
}
p.open("D:\\员工信息.txt");
for(k=0;k<m-1;k++)
p<<setw(6)<<a[k].NO<<setw(8)<<a[k].name<<setw(10)<<a[k].GZcode<<setw(10)<<a[k].ZWcode<<endl;
p.close();
cout<<"修改成功!"<<endl;
}
void Employee::recordSalary()
{
cout<<"请选择操作: 1.计算员工工资 2.显示工资情况 \n";
fstream p;
cin>>k;
switch(k)
{
case 1:
Salesman a1;Manager a2;Warehouseman a3;
in_message();
cout<<"请输入工资所在月份: ";
cin>>a[0].month;
p.open("D:\\员工工资.txt",ios::out);
p<<"月份: "<<a[0].month<<endl;
for(k=0;k<m-1;k++)
{
cout<<setw(6)<<"编号"<<setw(6)<<"姓名"<<setw(5)<<"职务"<<endl;
p<<setw(6)<<a[k].NO<<setw(6)<<a[k].name<<setw(5)<<a[k].ZWcode;
cout<<setw(6)<<a[k].NO<<setw(6)<<a[k].name<<setw(5)<<a[k].ZWcode<<endl;
if(a[k].ZWcode==1)
{ a1.Salary();
p<<setw(7)<<a1.salary<<endl;
cout<<a[k].name<<"的薪水为: "<<setw(7)<<a1.salary<<endl;}
if(a[k].ZWcode==2)
{ a2.Salary();
p<<setw(7)<<a2.salary<<endl;
cout<<a[k].name<<"的薪水为: "<<setw(7)<<a2.salary<<endl;}
if(a[k].ZWcode==3)
{ a3.Salary();
p<<setw(7)<<a3.salary<<endl;
cout<<a[k].name<<"的薪水为: "<<setw(7)<<a3.salary<<endl;}
}
p.close();break;
case 2:
p.open("D:\\员工工资.txt",ios::in|ios::nocreate);
if(!p.is_open())
{cout<<"没有员工工资记录!!"; break;}
char nouse[20];
p.getline(nouse,sizeof(nouse));
cout<<nouse<<endl;
k=0;
while(!p.eof())
{ p>>a[k].NO>>a[k].name>>a[k].ZWcode>>a[k].salary;
k++;
}
cout<<setw(6)<<"编号"<<setw(6)<<"姓名"<<setw(5)<<"职务"<<setw(7)<<"薪水"<<endl;
for(int i=0;i<k-1;i++)
cout<<setw(6)<<a[i].NO<<setw(6)<<a[i].name<<setw(5)<<a[i].ZWcode<<setw(7)<<a[i].salary<<endl;
}
p.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -