📄 calculateengineersalary.c
字号:
#include <stdio.h>
#include "main.h"
void CalculateEngineerSalary(void)
{
int i=0;
int benefit=0; /*月效益*/
char choose;
int mark=0;
int n=count;
while(1)
{
if(n==0)
{
if(count==0)
printf("信息库为空!不能进行薪水计算!\n");
else
printf("您已对信息库中的所有工程师进行了薪水计算,不能重复计算!\n");
break;
}
else
{
printf("请输入月效益:");
while(1)
{
fflush(stdin);
scanf("%d",&benefit);
if(benefit<0)
{
printf("月效益输入有误,请重新输入!\n");
continue;
}
break;
}
for(i=0;i<count;i++)
{
n--;
fflush(stdin);
printf("本月月效益为:%d\n",benefit);
printf("请输入编号为%04d的工程师的月工作日:",Engineer[i].No);
while(1)
{
fflush(stdin);
scanf("%d",&Engineer[i].Salary.Wday);
if(Engineer[i].Salary.Wday>31||Engineer[i].Salary.Wday<=0)
{
printf("月工作日输入有误,请重新输入!\n");
continue;
}
break;
}
printf("请输入编号为%04d的工程师的月保险金:",Engineer[i].No);
while(1)
{
fflush(stdin);
scanf("%f",&Engineer[i].Salary.Insure);
if(Engineer[i].Salary.Insure<0)
{
printf("月保险金输入有误,请重新输入!\n");
continue;
}
break;
}
Engineer[i].Salary.Pay=(Engineer[i].Bsalary+10*Engineer[i].Salary.Wday+benefit*Engineer[i].Wage/100.0)*0.9-Engineer[i].Salary.Insure;
printf("\n该工程师基本薪水信息如下:\n");
printf("--------------------------------------------------------------------------------\n");
printf(" 编号 姓名 基本薪水\n");
printf(" ------ ------------ ----------- \n");
printf("%8d%13s%24.2f\n",Engineer[i].No,Engineer[i].Name,Engineer[i].Salary.Pay);
printf("--------------------------------------------------------------------------------\n");
IsCalculate=1;
while(1)
{
printf("\n\n要继续计算工程师基本薪水吗?(Y/N)\n");
fflush(stdin);
scanf("%c",&choose);
if(choose=='n'||choose=='N')
{
printf("退出本薪水计算功能!\n");
mark=0;
break;
}
else if(choose=='Y'||choose=='y')
{
mark=1;
break;
}
else
printf("输入有误,请重新输入!\n");
}
if(mark==0)
break;
}
if(mark==0)
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -