fork(1) download
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cmath>
  4.  
  5. using std::cout;
  6. using std::cin;
  7. using std::endl;
  8. using std::fixed;
  9. using std::setw;
  10. using std::setprecision;
  11. using std::pow;
  12.  
  13. bool isEqual(double x, double y) {
  14. return std::abs(x - y) <= 1e-5 * std::abs(x);
  15. }
  16.  
  17. int main() {
  18. //quantia em depósito no fim de cada ano.
  19. double deposito;
  20. //quantia inicial antes dos juros.
  21. double principal = 1000.0;
  22. //taxa de juros.
  23. double taxa;
  24. cout<<"Insira a taxa de juros entre 0.05 á 0.10: ";
  25. cin>>taxa;
  26. //exibe cabeçalhos.
  27. cout << " Ano(s) " << setw(21)<<"Quantidade depositada"<<endl;
  28. //configura o formato de saída do valo de ponto flutuante.
  29. cout << fixed << setprecision(2);
  30. //calcula a quantia de depósito para cada um dos dez anos.
  31. for (int ano = 1; ano <= 10; ano++) {
  32. if (isEqual(taxa, .05)) {
  33. //calcula a nova quantia durante o ano especificado
  34. deposito = principal * pow(1.0 + taxa, ano);
  35. //exibe o ano e a quantia
  36. cout << setw(4) << ano << setw(21) << deposito << endl;
  37. } else if (isEqual(taxa, .06)) {
  38. deposito = principal * pow(1.0 + taxa, ano);
  39. cout << setw(4) << ano << setw(21) << deposito << endl;
  40. } else if (isEqual(taxa, .07)) {
  41. deposito = principal * pow(1.0 + taxa, ano);
  42. cout << setw(4) << ano << setw(21) << deposito << endl;
  43. } else if (isEqual(taxa, .08)) {
  44. deposito = principal * pow(1.0 + taxa, ano);
  45. cout << setw(4) << ano << setw(21) << deposito << endl;
  46. } else if (isEqual(taxa, .09)) {
  47. deposito = principal * pow(1.0 + deposito, ano);
  48. cout << setw(4) << ano << setw(21) << deposito << endl;
  49. } else if (isEqual(taxa, .10)) {
  50. deposito = principal * pow(1.0 + taxa, ano);
  51. cout << setw(4) << ano << setw(21) << deposito << endl;
  52. } else {
  53. //para que não seja recebido um valor além do especificado.
  54. cout<<"O valor de taxa inserido é inválido. ";
  55. return 0;
  56. }
  57. }
  58. return 0;
  59. }
Success #stdin #stdout 0s 3464KB
stdin
0.05
stdout
Insira a taxa de juros entre 0.05 á 0.10:  Ano(s) Quantidade depositada
   1              1050.00
   2              1102.50
   3              1157.63
   4              1215.51
   5              1276.28
   6              1340.10
   7              1407.10
   8              1477.46
   9              1551.33
  10              1628.89