#include void main(){ // solução do exercício feita em sala em 23/10/12, // (ver enunciado em 'exercicio1.pdf') // dados de entrada float valor, // valor do empréstimo taxa, // taxa de juros prest; // valor da prestação mensal int np; // número de parcelas // variáveis auxiliares float saldo, // saldo devedor juros, // valor dos juros no mes total; // total pago // entrada dos dados printf("valor do emprestimo:"); scanf("%f",&valor); printf("taxa de juros:"); scanf("%f",&taxa); printf("valor da prestacao:"); scanf("%f",&prest); // caso 1: Banco Honesto S/A saldo = valor; // valor inicial do saldo devedor np = 0; total = 0.0; while(saldo >= prest){ juros = saldo * taxa; saldo += juros - prest; total += prest; np++; if(np > 300) break; } // acerto da última prestação if(saldo >= 0.0) { np++; total += saldo; // ultima prestação igual ao valor residual } // impressão do resultado printf("1 - Banco Honesto S/A\n"); if(np <= 300){ printf(" Numero de prestacoes: %d\n",np); printf(" Ultima prestacoes: %.2f\n",saldo); printf(" Total pago: %.2f\n",total); } else printf(" O emprestimo nao pode ser concedido nas condicoes propostas\n"); // caso 2: Banco Selva S/A saldo = valor; // valor inicial do saldo devedor np = 0; total = 0.0; juros = valor * taxa; // os juros são fixos, calculados com base no valor do empréstimo while(saldo >= prest){ saldo += juros - prest; total += prest; np++; if(np > 300) break; } // acerto da última prestação if(saldo >= 0.0) { np++; total += saldo; // ultima prestação igual ao valor residual } // impressão do resultado printf("\n2 - Banco Selva S/A\n"); if(np <= 300){ printf(" Numero de prestacoes: %d\n",np); printf(" Ultima prestacoes: %.2f\n",saldo); printf(" Total pago: %.2f\n",total); } else printf(" O emprestimo nao pode ser concedido nas condicoes propostas\n"); system("PAUSE"); /********************************************** Comentários finais: A sequência de comandos para os cálculos de cada um dos bancos só difere num único ponto (posição do comando de cálculo dos juros). - existe uma forma mais inteligente de se obter esse efeito sem ter que duplicar o código ? **********************************************/ }