C++员工管理系统Word文档下载推荐.docx
- 文档编号:18908561
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:23
- 大小:19.22KB
C++员工管理系统Word文档下载推荐.docx
《C++员工管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++员工管理系统Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
voidinputAllowance(floati);
floatgetMedicalInsurance(){returnmedicalInsurance;
voidinputMedicalInsurance(floatm);
doublegetOverTimePay(){returnoverTimePay;
voidinputOverTimePay(doubleo);
};
voidProfession:
:
inputRank(charc)
rank=c;
inputAllowance(floati)
allowance=i;
inputBasicSalary(floatb)
basicSalary=b;
inputMedicalInsurance(floatm)
medicalInsurance=m;
inputOverTimePay(doubleo)
overTimePay=o;
/*classLetter
stringletter;
stringgetL(){returnletter;
*/
classWorker:
publicProfession//员工
stringname,profession,letter;
intID;
doublewages;
//税后工资
doublesalary;
//税前工资
doubletotalWorkingtime;
//总工时
charperson;
//态度
//等级
intpersonalPassword;
//个人密码
intrankflag;
//升级标志
intletterflag;
//信件
intmoneyflag;
//加薪标志
Worker(intx=0,inty=0,intz=0):
rankflag(x),letterflag(y),moneyflag(z)
{}
stringgetName(){returnname;
voidinputName(stringn);
intgetID(){returnID;
voidinputID(inti);
stringgetProfession(){returnprofession;
voidinputProfession(stringp);
voidgetLetter(){cout<
<
letter;
voidchangeLetter(strings);
doublegetWages(){returnwages;
voidgetTotalworkingtime(doublet);
doublereTotalworkingtime()
{
returntotalWorkingtime;
}
chargetPerson(){returnperson;
doublegetSalary(){returnsalary;
intgetMf(){returnmoneyflag;
intgetRf(){returnrankflag;
intgetLf(){returnletterflag;
voidchangeLf();
voidchangeMf();
voidchangeRf();
voidchangeSalary(doubles);
voidevaluation();
voidoutPut();
voidoriginalSalary();
voidcalculateSalary();
voidCongratulation();
voidopinion();
voidcheck(Worker*head);
voidchangeRank(charc,Worker*clerk);
classWorker*next;
voidWorker:
changeLetter(strings)
letter=s;
inputName(stringn)
name=n;
inputID(inti)
ID=i;
inputProfession(stringp)
profession=p;
getTotalworkingtime(doublet)
totalWorkingtime=t;
changeLf()
letterflag--;
changeMf()
moneyflag++;
changeRf()
rankflag++;
changeSalary(doubles)
salary=s;
originalSalary()//无税
salary=getBasicSalary()+(totalWorkingtime-8*30)*getOverTimePay()+getAllowance()+getMedicalInsurance();
totalPay=totalPay+salary;
calculateSalary()//税
if(salary>
5000)
wages=salary-salary*0.5;
elseif(salary>
1000&
&
salary<
=5000)
{
wages=salary-salary*0.3;
evaluation()
if(totalWorkingtime<
30)
person='
D'
;
elseif(totalWorkingtime>
=30&
totalWorkingtime<
60)
C'
=60&
90)
B'
=90)
A'
outPut()//数出
cout<
"
姓名"
setw(8)<
ID"
职业"
基本工资"
津贴"
医保"
总工时"
工作评价"
工资"
endl;
getName()<
ID<
profession<
getBasicSalary()<
getAllowance()<
getMedicalInsurance()<
reTotalworkingtime()<
getPerson()<
getWages()<
Congratulation()//祝贺
if(rankflag==1)
恭喜您升职了"
rankflag=0;
elseif(moneyflag==1)
恭喜您加薪了"
moneyflag=0;
calculateSalary();
cout<
您现在薪水为"
wages<
opinion()//意见
cin>
>
nemberOfopinions++;
letterflag=1;
check(Worker*head)//
Worker*clerk=head->
next;
intid;
chars;
stringd;
输入您的ID"
id;
if(clerk!
=NULL&
id==(*clerk).getID())
{
(*clerk).Congratulation();
if(Bossflag==1)
{
cout<
有信件"
(*clerk).getLetter();
Bossflag=0;
}
(*clerk).outPut();
是否提出申请"
cout<
y/n"
cin>
s;
if(s=='
y'
)
{
input:
cin>
d;
(*clerk).opinion();
}
}
changeRank(charr,Worker*clerk)//等级
Professiona('
a'
8000,2000,200,300),b('
b'
7000,1500,150,200),c('
c'
6000,1000,100,100),d('
d'
3000,500,50,70);
if(r=='
)
{
(*clerk).inputRank(a.getRank());
(*clerk).inputBasicSalary(a.getBasicSalary());
(*clerk).inputMedicalInsurance(a.getMedicalInsurance());
(*clerk).inputAllowance(a.getAllowance());
(*clerk).inputOverTimePay(a.getOverTimePay());
}
elseif(r='
(*clerk).inputRank(b.getRank());
(*clerk).inputBasicSalary(b.getBasicSalary());
(*clerk).inputMedicalInsurance(b.getMedicalInsurance());
(*clerk).inputAllowance(b.getAllowance());
(*clerk).inputOverTimePay(b.getOverTimePay());
(*clerk).inputRank(c.getRank());
(*clerk).inputBasicSalary(c.getBasicSalary());
(*clerk).inputMedicalInsurance(c.getMedicalInsurance());
(*clerk).inputAllowance(c.getAllowance());
(*clerk).inputOverTimePay(c.getOverTimePay());
(*clerk).inputRank(d.getRank());
(*clerk).inputBasicSalary(d.getBasicSalary());
(*clerk).inputMedicalInsurance(d.getMedicalInsurance());
(*clerk).inputAllowance(d.getAllowance());
(*clerk).inputOverTimePay(d.getOverTimePay());
classBoss
voidemployed(Worker*head);
//录用
voidfire(Worker*head);
//踢人
voidchangeWages(Worker*head);
//加薪
voidwokersApply(Worker*head);
//职工建议
voidCheckThesalary(Worker*head);
//查看
voidpromotion(Worker*head);
//升职
voidBoss:
employed(Worker*head)
fire(Worker*head)
输入姓名"
stringname1;
Worker*clerk=head->
想踢谁?
cin>
name1;
do{
name1==(*clerk).getName())
id=(*clerk).getID();
if(((*clerk).getPerson()=='
)||((*clerk).getPerson()=='
))
该员工评价B级以上,真的要解雇他?
chara;
a;
if(a=='
Worker*p,*q;
q=head;
totalPay=totalPay-(*clerk).getSalary();
while(q->
next!
q->
next->
getID()!
=id)
q=q->
if(q->
=NULL)
{
p=q->
q->
next=q->
count--;
......成功删除!
"
}//加入主菜单
else
Worker*p,*q;
clerk=clerk->
}while(clerk!
=NULL);
changeWages(Worker*head)
stringc;
chard;
intflag=0;
c;
do
do
if(clerk!
(*clerk).getName()==c)
{
flag=1;
要更改吗?
?
if(d=='
doubles;
输入薪水"
cin>
(*clerk).changeSalary(s);
(*clerk).changeMf();
break;
if(flag==0)
!
对不起!
您要查询的职工不存在!
您想继续查询吗?
(y/n)"
}while(d=='
);
wokersApply(Worker*head)
if(nemberOfopinions!
=0)
您有"
nemberOfopinions<
个信件"
if(clerk!
(*clerk).getLf()==1)
cout<
(*clerk).getName()<
endl<
(*clerk).getID()<
(*clerk).getPerson()<
(*clerk).changeLf();
(*clerk).getLetter();
要对他说些什么吗?
输入‘恩’"
if(c=="
恩"
stringopinion;
建议:
opinion;
(*clerk).changeLetter(opinion);
Bossflag=1;
}while(clerk=NULL);
CheckThesalary(Worker*head)
charc;
stringname;
do{
boolflag=0;
请输入要查找的职工的姓名:
name;
name==(*clerk).getName())
(*clerk).outPut();
if(flag==0)
cout<
while(c!
='
c!
n'
指令错误<
请输入y/n!
}
}while(c=='
promotion(Worker*head)//升职
请输入ID"
charc;
(*clerk).outPut();
if((*clerk).getRank()=='
员工已达最高级"
else
确定是否升级"
if(c=='
(*clerk).changeRank((char)((*clerk).getRank()-1),clerk);
(*clerk).changeRf();
cout<
升职成功"
else
=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 员工 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)