Gostaria da ajuda dos companheiros na resolução desse problema.
O problema que está apresentando é esse: 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.
Pergunta
Luizx
Pessoal,
Fiz um algoritmo em C++ para juros compostos, porém o mesmo está dando erro, segue abaixo:
#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);
}
}
Gostaria da ajuda dos companheiros na resolução desse problema.
O problema que está apresentando é esse: 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.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.