Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Por qué sale ésto?

Estas en el tema de ¿Por qué sale ésto? en el foro de C/C++ en Foros del Web. Buenas, ¿por qué sale ésto en un código tan simple? ¿Por qué num3 no toma al final el valor "5"? ¿Hay alguna forma de conseguirlo? ...
  #1 (permalink)  
Antiguo 26/04/2008, 05:51
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
¿Por qué sale ésto?

Buenas, ¿por qué sale ésto en un código tan simple?
¿Por qué num3 no toma al final el valor "5"?
¿Hay alguna forma de conseguirlo?

#include <iostream.h>
#include <stdlib.h>

int main()
{
float num1,num2,num3;;
num1=5;
num2=num1+1e30;
num3=num2-1e30;
cout<<(num3);



system("PAUSE");
return 0;
}
  #2 (permalink)  
Antiguo 26/04/2008, 08:17
 
Fecha de Ingreso: abril-2008
Ubicación: Lima
Mensajes: 70
Antigüedad: 16 años
Puntos: 0
Re: ¿Por qué sale ésto?

Qué es lo que sale? Prueba con double.
  #3 (permalink)  
Antiguo 26/04/2008, 14:56
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Re: ¿Por qué sale ésto?

Quizas sea una estupidez lo que voy a decir pero... 1e30 no es ninguna variable me parece, no la declaraste. Igualmente no te dejaria declararla, por lo menos en C, puesto que no puede empezar con un numero. Si declaras una variable y no la inicializas, dentro habra "basura" i si sumas y restas esa "basura" no deberia modificar el num3 y deberia salir un 5 como tu bien dices. Revisa la declaracion de los num, se te colo un ; de mas.

Nota:creo que la notacion exponencial se utiliza solo para imprimir por pantalla (con %e). Seguramente jabre metido la pata hasta el fondo xD, tengo pocos conocimientos aun. Espero que te sirva de ayuda. Saludos.

Última edición por GagleKas; 26/04/2008 a las 15:16
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:01.