Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luizxp

Ajuda - Algoritmos C++ - Juros Composto

Recommended Posts

Pessoal,

 

Gostaria de saber se alguém pode me ajudar no seguinte algoritmo:

 

#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
float principal;
float taxa;
int meses;
int trimestre;
float anterior = 0.0;
float montante;
float juros;
scanf("%f",&principal);
scanf("%f",&taxa);
scanf("%d",&meses);
trimestre = meses*4;
for(int i = 1; i <= trimestre; i++){
montante = principal * pow((1 + taxa), i);
juros = montante - principal - anterior;
anterior += juros;
//printf("Mês: %d - Montante: %f - Juros %f\n", i, montante, juros);
printf("Rendimento: %.2f Montante: %.2f\n",juros,montante);
}
}
O erro que tá sendo apresentado é este aqui: Esse problema pode gerar um típico caso de erro de precisão da representação do ponto flutuante. Nesse caso, você tem algumas alternativas. Uma delas é usar o tipo mais preciso da sua linguagem, double, por exemplo. Mas ainda assim, você só irá reduzir o erro, mas ainda o terá. Outra possibilidade é trabalhar com inteiros. Por exemplo, se você ler o número 12.35, ao invés de ler em uma única variável, leia em duas variáveis, um inteiro para representar o 12 e outro para representar o 35. Faça as operações de divisão e multiplicação em cima desses inteiros. E cuidado com o resultado da operação, pois ele pode gerar outro número fracionário e, portanto, o mesmo raciocínio deve ser aplicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.