Fala galera, estou começando na area e estou praticando as aulas que tive, para poder aprender mais. Não estou conseguindo entender porque o programa não funciona.
O exercício pede para o usuário entrar com o salário base, e a saída deveria ser o valor do imposto retido na fonte. 15. (Cortesia do Prof. Bogdan Tomoyuki Nassu) A tabela abaixo foi copiada do website da Receita Federal, e traz as alíquotas do imposto de renda de pessoa física retido na fonte para o exercício de 2013:
A base de cálculo é dada pelo salário mensal, com certas deduções, como dependentes e contribuição previdenciária. Abstraindo estes e outros detalhes, o imposto devido é calculado tomando a base de cálculo mensal, verificando a faixa na qual ela se encontra, aplicando a alíquota correspondente, e reduzindo o valor final da parcela a deduzir. Por exemplo, se a base de cálculo é de R$10.000,00, a alíquota é de 27,5%, ou seja, R$2750,00. Deduzimos R$756,53 da parcela e obtemos como resultado final R$1993,47 de imposto devido. Escreva um programa que receba como entrada a base de cálculo mensal de um trabalhador e retorne o imposto de renda devido.
#include <stdio.h> #include <stdlib.h>
int main(void) {
double salario_base;
double aliquota;
double parcela_reduzida;
double imposto_renda;
double base_mensal;
aliquota = (salario_base * aliquota) / 100;
//imposto_renda = parcela_reduzida - aliquota;
printf("Imposto de renda de pessoa física retido na fonte parao exercício de 2023\n");
printf("Digite seu Salario: ");
scanf("%.3lf", &salario_base);
parcela_reduzida = 0;
if (salario_base <= 1.637,11) {
printf("Nao houve desconto.\n");
}
else if(salario_base <= 2.453,50){
aliquota = 7,5;
parcela_reduzida = 122,78;
imposto_renda = parcela_reduzida - aliquota;
printf("O Imposto de Renda %d retiro e: ", imposto_renda);
}
else if(salario_base <= 3.271,38) {
aliquota = 15,0;
parcela_reduzida = 306,80;
imposto_renda = parcela_reduzida - aliquota;
printf("O Imposto de Renda %d retiro e: ", imposto_renda);
}
else if(salario_base <= 4.087,65) {
aliquota = 22,5;
parcela_reduzida = 306,80;
imposto_renda = parcela_reduzida - aliquota;
printf("O Imposto de Renda %d retiro e: ", imposto_renda);
}
else {
//salario_base > 4.087,65;
aliquota = 27,5;
parcela_reduzida = 306,80;
imposto_renda = parcela_reduzida - aliquota;
}
printf("O Imposto de Renda retiro e: %.3lf",salario_base);
return 0;
}