Hola,
llevo unos dias con este problema y no soy capaz de sacarlo. Tengo que hacer un programa en el cual se calculen dos numeros, uno de ellos es fijo o constante y el otro viene dado por una sucesion, y una vez calculados, compruebe que la diferencia por aproximacion al numero constante desde el calculado este dentro de un valor introducido por teclado. Hasta ahi todo claro y facil de hacer, pero mi problema viene cuando he de comparar la diferencia entre los valores. La diferencia ha de ser de 0.1 y ahi esta el problema, pues ese numero es un numero real y por tanto tendre que usar Doubles o Long quedando para el ordenador como 0.100000 pero claro, esa es la diferencia teorica, pero la real siempre sera 0.1xxxxx y por tanto jamas se cumplira que se acerque a esa diferencia de 0.1 introducida por teclado.
Por si no queda claro, tambien os dejo el codigo que tengo por ahora:
-   
- ............. 
-   
-   
- int main(){ 
-   
-     double diferencia, aureo, resta, calculo; 
-     int n; 
-   
-     cout << "Introduce el valor de la diferencia en la aproximacion: "; 
-     cin >> diferencia; 
-   
-     calculo = 0; 
-     n = 0; 
-     resta=0; 
-     aureo = (1 + sqrt(5.0))/2.0; 
-   
-     while(resta != diferencia){ 
-         calculo=(fibonacci(n+1))/(fibonacci(n)); 
-         resta=aureo-calculo; 
-         n++; 
-     } 
-   
-     cout << "RESULTADO = " << n-1; 
-     
-     cout << "nn"; 
-     system("pause"); 
- } 
-   
-   
Donde aureo es el numero constante y calculo el numero calculado por aproximacion mediante la serie de fibonacci.
Gracias por adelantado 
