Estou com um projeto de folha de pagamento, mas estou com um problema, ele n está calculando o FGTS, Salário Família e Imposto de Renda, e eu não consigo identificar o erro, quem souber o por que por favor me ajude.(trabalho para a faculdade)
#include <stdio.h>
#include <locale.h>
main()
{
int fcod, depen, dep;
float sal, gsal, vtn, vtfinal, psfinal, en, qt, inss, in, fgts, sl, ir, ir1, irfinal,sll;
int vt, ps, cont;
setlocale (LC_ALL, "Portuguese");
printf("Informe o código do funcionário: ");
scanf("%d", &fcod);
printf("Quantidade de dependetes: ");
scanf("%d", &depen);
cont=depen;
while (cont >= 1)
{
printf("Informe a idade do(s) dependente(s): ");
scanf("%d", &dep);
cont = cont-1;
}
printf("Informe o salário do funcionário: ");
scanf("%f", &sal);
printf("Salário extra/gratificação: ");
scanf("%f", &gsal);
printf("Funcionário usa VT? Responda com 1(S) ou 2(N): ");
scanf("%d", &vt);
if (vt==1)
{
vtn=sal*0.06;
if (vtn < 198.00)
vtfinal=vtn;
else
if(vtn>198.00)
vtfinal=198.00;
printf("VT: $%.2f", vtfinal);
}
else
{
printf("VT: $0");
}
printf("\nFuncionário usa PS? Responda com 1(ENFERMARIA) ou 2(QUARTO): ");
scanf("%d", &ps);
if (ps==1)
{
en=(depen+1)*89.90;
psfinal=en;
printf("PS: %.2f", en);
}
else
{
qt=(depen+1)*119.90;
psfinal=qt;
printf("PS: %.2f", qt);
}
// INSS
in=sal+gsal;
if (in<=1751.81)
{
inss=in*0.08;
printf("\nINSS:$%.2f", inss);
}
else
{
in=sal+gsal;
if(in <=2919.72)
{
inss=in*0.09;
printf("\nINSS:$%.2f", inss);
}
else
in=sal+gsal;
if(in <=5839.45)
{
inss=in*0.11;
printf("\nINSS:$%.2f", inss);
}
else
in=sal+gsal;
if(in>=5839.45)
{
inss=5839.45*0.11;
printf("\nINSS:$%.2f", inss);
}
}
//FGTS
fgts=(sal+gsal)*0.08;
printf("\nFGTS:$ %.2f", fgts);
//Salario familia
if(dep>=1 && sal+gsal <= 907.77)
{
sl=(sal+gsal)+(46.54*dep);
printf("\nSalário Família: $ %.2f", sl);
}
else
if(dep>=1 && sal+gsal <= 1364.44)
{
sl=(sal+gsal)+(32.80*dep);
printf("\nSalário Família: $ %.2f", sl);
}
else
if(dep>=1 && sal+gsal > 1364.44)
{
sl=(sal+gsal)+(0*dep);
printf("\nSalário Família:$0");
}
//imposto de renda
ir1=(sal+gsal-inss)-(depen*189.59);
ir=ir1;
if (ir <= 1903.98)
{
printf("\nIR:$0", &ir);
}
else
if(ir <= 2826.65)
{
irfinal=ir*0.075;
printf("\nIR:$%.2f", &ir);
}
else
if(ir <=3751.05)
{
irfinal=ir*0.15;
printf("\nIR:$%.2f", &ir);
}
else
if(ir <= 4664.68)
{
irfinal=ir*0.225;
printf("\nIR:$%.2f", &ir);
}
else
if(ir > 4664.68)
{
irfinal=ir*0.227;
printf("\nIR:$%.2f", &ir);
}
//salário liquido
sll=(sal+gsal)-(vtfinal-psfinal)-(inss+sl-ir);
printf("\nSalário Liquido:$%.2f", sll);
}