gRoOvE 0 Denunciar post Postado Março 29, 2008 ae galera, tenho q fazer um programinha pra mostrar quanto vai ser pago de imposto de renda por mes, mas to com uma duvida em uma parte do programa, segue o codigo: #include "stdafx.h" void main(void) { //variaveis int dependentes; float salario, desconto_dep, salario_desc, IR; #define salario_minimo 400.00 //entrada printf("\t------------------------------------------------------"); printf("\n\t| PROGRAMA PARA CALCULAR IMPOSTO DE RENDA |\n"); printf("\t------------------------------------------------------\n\n"); printf("Digite seu salario: R$"); scanf("%f",&salario); printf("Digite quantos dependentes possui: "); scanf("%d",&dependentes); //processamento e saida desconto_dep = dependentes * 0.05 * salario; (DUVIDA 1) printf("\nDesconto com dependentes: %.2f",desconto_dep); salario_desc = salario - desconto_dep; printf("\n\nSalario ajustado com o desconto: %.2f\n",salario_desc); if((salario < 0) || (dependentes < 0)) { printf("Salario ou Dependentes invalidos\n"); } else { if(salario_desc < (2 * salario_minimo)) { printf("\nIsento do imposto de renda\n"); } else if( (salario_desc > (2 * salario_minimo)) && (salario_desc <= (3 * salario_minimo)) ) { IR = salario_desc * (5/100); (DUVIDA 2) printf("\nValor a pagar: R$%.3f\n",IR); } else if( (salario_desc > (3 * salario_minimo)) && (salario_desc <= (5 * salario_minimo)) ) { IR = salario_desc * 10 / 100; (DUVIDA 2) printf("\nValor a pagar: RS%.3f\n",IR); } else if( (salario_desc > (5 * salario_minimo)) && (salario_desc <= (7 * salario_minimo)) ) { IR = salario_desc * 15 / 100; printf("\nValor a pagar: RS%.3f\n",IR); } else if( (salario_desc > (7 * salario_minimo)) ) { IR = salario_desc * 20 / 100; printf("\nValor a pagar: RS%.3f\n",IR); } } }ali em (DUVIDA 1) o 0.05 seria 5/100, q seria a porcentagem, mas seu eu coloco 5/100 nao faz a conta, fica td zero, pq isso ??e em (DUVIDA 2) a conta é feita mas se eu coloco parenteses entre a divisao, q eh porcentagem tb, a conta nao eh feita, fica td zero tb "/ Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Março 29, 2008 ali em (DUVIDA 1) o 0.05 seria 5/100, q seria a porcentagem, mas seu eu coloco 5/100 nao faz a conta, fica td zero, pq isso ?? Porque você está fazendo operação com inteiros. 5 / 100 tem quociente 0 e resto cinco. Coloque 0.05. e em (DUVIDA 2) a conta é feita mas se eu coloco parenteses entre a divisao, q eh porcentagem tb, a conta nao eh feita, fica td zero tb Pelo mesmo motivo de antes. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Março 30, 2008 mas se fosse seguir a logica nao daria na msm ?? pois 0.05, como eh operacao com inteiros nao ia "ver" apenas o 0 e descataria o 0.05 ?? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 11, 2008 olha o erro esta em qrer dividir dois inteiros! divisão de inteiros gera resultado inteiro! mal por responder agora é q soh vi agora esse tópico http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites