📄 employee.cpp
字号:
///////////////////////////////////////////////////////////////
///////////////////////employee.cpp//////////////////
#include<iostream>
#include<cstring>
#include"employee.h"
#include<fstream>
using namespace std;
int startno()
{
int totalno=0;
empstu employee1;
ifstream infile("employee.txt",ios_base::in);
infile.seekg(ios::beg);
if(infile.fail())
return 0;
infile.read((char*)&employee1,sizeof(empstu));
while(!infile.eof())
{
if(employee1.state==1)
totalno++;
infile.read((char*)&employee1,sizeof(empstu));
}
return totalno;
}
int employee::employeeNo=1000+startno();
employee::employee()
{
individualEmpNo=++employeeNo;
grade=1;
accumPay=0.0;
}
employee::~employee()
{}
void employee::promote(int increment)
{
grade+=increment;
}
void employee::SetName(char *names)
{
strcpy(name,names);
}
char *employee::GetName()
{
return name;
}
void employee::SetaccumPay(float pa)
{
accumPay=pa;
}
int employee::GetindividualEmpNo()
{
return individualEmpNo;
}
int employee::Getgrade()
{
return grade;
}
float employee::GetaccumPay()
{
return accumPay;
}
technician::technician()
{
hourlyRate=100;
}
void technician::SetworkHours(int wh)
{workHours=wh;}
void technician::pay()
{accumPay=hourlyRate*workHours;}
void technician::promote(int)
{employee::promote(1);}
salesman::salesman()
{CommRate=0.04;}
void salesman::Setsales(float sl)
{sales=sl;}
void salesman::pay()
{accumPay=sales*CommRate;}
void salesman::promote(int)
{employee::promote(0);}
manager::manager()
{monthlyPay=8000;}
void manager::pay()
{accumPay=monthlyPay;}
void manager::promote(int)
{employee::promote(3);}
salesmanager::salesmanager()
{monthlyPay=5000;
CommRate=0.005;}
void salesmanager::pay()
{accumPay=monthlyPay+CommRate*sales;}
void salesmanager::promote(int)
{employee::promote(2);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -