Ir ao conteúdo

Posts recomendados

Postado

estou com dificuldade para fazer essa parte do ir-imposto de renda 

 

 

IR – IMPOSTO DE RENDA
No caso do imposto de renda o dependente tem vários critérios para ser considerado. Vamos considerar aqui todos os dependentes citados que tenham até 21 anos. O cálculo do IR é realizado com base na seguinte regra:
* Salário bruto + gratificações – valor INSS – valor de dedução por dependente.
Eletrônica Digital II 4
Com base nesse cálculo é analisado em qual linha da Base de cálculo se encontra esse valor. A partir disso, calcula-se com base na alíquota a ser aplicada e o valor obtido é deduzido da última coluna.
Por exemplo:
Um funcionário que recebe 3.500,00 com gratificação de 250,00: Bruto + gratificação: 3.500,00 + 250,00 = 3.750,00;
Valor INSS: 11% de 3,750,00 = 412,50
Dedução por dependente: supondo dois filhos – 189,59 * 2 = 379,18.
Sendo assim a base de cálculo será: 3.750,00 – 412,50 – 379,18 = 2.958,32
Aplicar a alíquota correspondente sobre esse valor: 2.958,32 * 15% = 443, 75
Desse valor será deduzido o valor indicado na tabela: 443,65 - 354,80 = 88,85
Ou seja, o valor pago de IR será de 88,85.

 

 

#include<stdio.h>
#include<math.h>

void main()
{
    int dep, escolha, opcaosaude, idade, dep14, dep21, depirpf;
    int opcao1, opcao2, opcao3, opcao4, opcao5, opcao6, opcao7, opcao8;
    float bruto, grati, bruto_grati, inss, vt, saude, vtmax, vttotal, descontovt, vtutilizado, fgts, salario_familia, aliquotair, parcelairpf, inss_irpf, insstotal_irpf, deptotal_irpf, base_calculo_irpf, aliq_correspondente, deducao_irpf;

    //Entrada dos dados
    printf("Posuui dependentes? \n");
    printf("\tDigite 1 para SIM\n");
    printf("\tDigite 2 para não\n");
    scanf("%d", &opcao6);
        if (opcao6 == 1)
        {
            printf("Quantos dependentes possui?\n");
            scanf("%d", &dep);
            printf("Possui dependentes menores do que 14 anos?\n");
            printf("\tDigite 1 para SIM\n");
            printf("\tDigite 2 para não\n");
            scanf("%d", &opcao7);
            if (opcao7 == 1)
                {
                    printf("Quantos dependentes menores de 14 anos possui?\n");
                    scanf("%d", &dep14);
                }
            printf("Possui dependentes ate 21 anos?\n");
            printf("\tDigite 1 para SIM\n");
            printf("\tDigite 2 para não\n");
            scanf("%d", &opcao8);
            if (opcao8 == 1)
            {
                printf("Quantos dependentes ate 21 anos?\n");
                scanf("%d", &dep21);
            }
                
        }
    printf("Qual o valor do salario bruto? ","\n");
    scanf("%f", &bruto);
    printf("Possui gratificacao?\n");
    printf("\t1 - sim\n");
    printf("\t2 - não\n");
    scanf("%d", &opcao1);
        if (opcao1 == 1)
            {
                printf("Qual o valor da gratificacao?\n");
                scanf("%f", &grati);
            }
    printf("Utiliza VT.\n");
    printf("\t1 - sim\n");
    printf("\t2 - não\n");
    scanf("%d", &opcao2);
        if (opcao2 == 1)
        {
            printf("Quantas passagens utiliza mensalmente? ","\n");
            scanf("%f", &vtutilizado);
        }
    printf("Utiliza plano de saude.\n");
    printf("\t1 - sim\n");
    printf("\t2 - não\n");
    scanf("%d", &opcao3);
        if (opcao3 == 1)
        {
            printf("\tDigite 1 para plano enfermaria\n");
            printf("\tDigite 2 para quarto\n");
            scanf("%d", &opcaosaude);
        }
    bruto_grati = bruto + grati;

    //Opções desejadas
    while(opcao4 <= 0 || opcao4 >=8 )
    {
    printf("Qual demanda ira calcular?\n");
    printf("\tDigite 1 para calcular VT\n");
    printf("\tDigite 2 para calcular plano de saude\n");
    printf("\tDigite 3 para calcular FGTS\n");
    printf("\tDigite 4 para calcular INSS\n");
    printf("\tDigite 5 para calcular salario familia\n");
    printf("\tDigite 6 para calcular IR\n");
    printf("\tDigite 7 para calcular salario liquido\n");
    scanf("%d", &opcao4);
        if (opcao4 <= 0) 
        {
            printf("Opcao invalida.\n");
        }
            else if (opcao4 >= 😎
            {
                printf("Opcao invalida.\n");
            }
    }

    //Cálculo do vale transporte
    switch (opcao4)
    {
        case 1:
            if (opcao2 == 2)
            {
                printf("voce não optou pela utilizacao do vale transporte!");
                break;
            }
            if (opcao4 == 1)
            {
                vttotal = vtutilizado * 4.50;
                vtmax = bruto * 0.06;    
            
                if (vttotal >= vtmax)
                {
                    printf("Desconto de %.2f", vtmax);
                }
                else if (vttotal <= vtmax)
                {
                    printf("Desconto de %.2f", vttotal);
                }
            }
        break;

    //Cálculo do plano de saúde

        case 2:
            if (opcao3 == 2)
            {
                printf("voce optou por não utilizar o plano de saude!");
                break;
            }
            if (opcao4 == 2)
            {
                if (opcaosaude == 1)
                {
                    saude = dep * 89.90;
                    printf("voce optou por enfermaria, o valor total do desconto com os dependentes = %.2f", saude);
                }
                else if (opcaosaude == 2)
                {
                    saude = dep * 119.90;
                    printf("voce optou pelo quarto, o valor total do desconto com os dependentes = %.2f", saude);
                }
            }
        break;    

    //Cálculo do FGTS
        case 3:
            fgts = bruto_grati * 0.08;
            printf("O valor do FGTS sera %.2f reais", fgts);
        break;

    //Cálculo INSS
        case 4:
            if (bruto_grati <= 1100.00)
            {
               inss = bruto_grati * 0.075;     
            }
            if (bruto_grati >= 1100.01 || bruto_grati <= 2203.48)
            {
                inss = bruto_grati * 0.09;
            }
            if (bruto_grati >= 2203.49 || bruto_grati <= 3305.22)
            {
                inss = bruto_grati * 0.12;
            }
            if (bruto_grati >= 3305.23)
            {
                inss = bruto_grati * 0.14;
            }
            printf("O valor do INSS sera de %.2f reais", inss);
        break;   

    //Cálculo salário família.
        case 5:
             if (opcao7 == 2 || opcao6 == 2)
             {
                printf("voce não possui dependentes menores de 14 anos.");
                break;
             }
             if (bruto_grati <= 1503.25)
             {
                salario_familia = dep14 * 51.27;
                printf("Salario familia para %d dependentes menores de 14 anos e de %.2f reais", dep14, salario_familia);
             }
             if (bruto_grati >= 1503.26)
             {
                 printf("Esse salario atual não permite a utilizacao do salario familia.");
             }
        
        //Cálculo do IR
        case 6:
            if (bruto_grati <= 1903.98)
            {
                printf("voce não paga Imposto de Renda.\n");
                break;
            }
            if(bruto_grati >= 1903.99 || bruto_grati <= 2826.65)
            {
                aliquotair = 0.075;
                parcelairpf = 142.80;
            }
            if (bruto_grati >= 2826.66 || bruto_grati <= 3751.05)
            {
                aliquotair = 0.15;
                parcelairpf = 354.80;
            }
            if (bruto_grati >= 3751.06 || bruto_grati <= 4664.68)
            {
                aliquotair = 0.225;
                parcelairpf = 636.13;
            }
            if (bruto_grati >= 4664.68)
            {
                aliquotair = 0.275;
                parcelairpf = 869.36;
            }
            inss_irpf = 0.11;
            insstotal_irpf = bruto_grati * inss_irpf;
            if (opcao8 == 1)
            {
            deptotal_irpf = 189.59 * dep21;
            }
            if (opcao6 == 2 || opcao8 == 2)
            {
                deptotal_irpf = 0;
            }
            base_calculo_irpf = bruto_grati - insstotal_irpf - deptotal_irpf;
            printf("Base de calculo para IRPF de %.2f reais.\n", base_calculo_irpf);
            aliq_correspondente = base_calculo_irpf * aliquotair;
            deducao_irpf = aliq_correspondente - parcelairpf;
            printf("O valor a ser pago referente ao IRPF foi de %.2f reais.\n", deducao_irpf);
    }
        
}

T 01 - Folha de Pagamento .pdf

  • Curtir 1
Postado

@adilson luiz Seu código não tem nenhuma função, tudo está main. Para simplificar você devia criar funções para os cálculos e menus, no caso cálculo do exemplo poderia ser assim,

 

#include <stdio.h>

double calculo_inss(double salario){
    if(salario <= 1000){
        return salario * 0.075;
    }else if(salario <= 2203.48){
        return salario * 0.09;
    }else if(salario <= 3305.22){
        return salario * 0.12;
    }else if(salario <= 6433.57){
        return salario * 0.11;
    }
    return salario * 0.14;
}

double calculo_ir(double base){
    if(base <= 1903.98){
        return 0;
    }else if(base <= 2826.65){
        return 0.075 * base - 142.80;
    }else if(base <= 3752.05){
        return 0.15 * base - 354.80;
    }else if(base <= 4556.68){
        return 0.225 * base - 636.13;
    }
    return 0.275 * base - 869.36;
}

int main(void){
    const double deducao = 189.59;
    double gratificacao = 250.00;
    double salario = 3500.00;
    double bruto = salario + gratificacao;
    double valor = bruto - calculo_inss(bruto) - deducao * 2;

    printf("IR = %.2lf\n", calculo_ir(valor));

    return 0;
}

 

A tabela do INSS do pdf parece estar errada porque no exemplo diz que é 11% sobre 3.750,00 mas na tabela está 14%. Considerei 11% para ficar igual o cálculo do exemplo.

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!