#include <stdio.h>
int main(int argc,char* argv[])
{
int nBase = 1500,nPerformance = 0,nTemp = 0,nRes = 0;
int nDuty = 0,nInvigilate = 0,nClass = 0;
double fReserve = 0.0;
printf("输入老师值班天数(不少于5天,不能超过22天):");
nRes = scanf("%d",&nDuty);
while(nRes == 1)
{
if (nDuty >= 5 && nDuty <= 22)
{
break;
}
else if (nDuty < 0)
{
printf("输入数据有误,请输入整数!\n");
}
else
{
printf("输入范围有误,请输入整数!\n");
}
printf("输入老师值班天数(不少于5天,不能超过22天):");
nRes = scanf("%d",&nDuty);
}
printf("输入老师监考次数(不能超过10次):");
nRes = scanf("%d",&nInvigilate);
while(nRes == 1)
{
if (nInvigilate >= 0 && nInvigilate <= 10)
{
break;
}
else if (nInvigilate < 0)
{
printf("输入数据有误,请输入整数!\n");
}
else
{
printf("输入范围有误,请输入整数!\n");
}
printf("输入老师监考次数(不能超过10次):");
nRes = scanf("%d",&nInvigilate);
}
printf("输入老师上课次数(不能超过30次):");
nRes = scanf("%d",&nClass);
while(nRes == 1)
{
if (nClass >= 0 && nClass <= 30)
{
break;
}
else if (nClass < 0)
{
printf("输入数据有误,请输入整数!\n");
}
else
{
printf("输入范围有误,请输入整数!\n");
}
printf("输入老师上课次数(不能超过30次):");
nRes = scanf("%d",&nClass);
}
nPerformance = (nDuty * 60) + (nInvigilate * 30) + (nClass * 64);
nTemp = nPerformance + nBase;
if (nTemp > 5000)
{
fReserve = (nTemp - 5000) * 0.25 + 1000 * 0.2 + 2000 * 0.15 + 2000 * 0.1;
}
else if (nTemp > 4000 && nTemp < 5000)
{
fReserve = (nTemp - 4000) * 0.2 + 2000 * 0.15 + 2000 * 0.1;
}
else if (nTemp > 2000 && nTemp < 4000)
{
fReserve = (nTemp - 2000) * 0.15 + 2000 * 0.1;
}
else if (nTemp < 2000)
{
fReserve = (float)(nTemp * 0.1);
}
printf("绩效工资总额是%d\n",nPerformance);
printf("工资总额是%d\n",nTemp);
printf("需要缴纳的公积金是%0.2f\n",fReserve);
return 0;
}