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

problemas con modo release [[double y float]]

Estas en el tema de problemas con modo release [[double y float]] en el foro de C/C++ en Foros del Web. hola.... perdon por ser mi primer posteo y nadar pidiendo ayuda de ante mano ..xDDDD :P... bueno el tema es este .. tengo este codigo ...
  #1 (permalink)  
Antiguo 29/02/2008, 09:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
problemas con modo release [[double y float]]

hola.... perdon por ser mi primer posteo y nadar pidiendo ayuda de ante mano ..xDDDD

:P...

bueno el tema es este .. tengo este codigo q me calcula la distancia entre dos ciudades mediane sus coordenadas geograficas::

int calculoDistancia(float lat1, float long1, float lat2, float long2){
double degtorad = 0.01745329;
double radtodeg = 57.29577951;

double dlong = (long1 - long2);
double dvalue = (sin(lat1 * degtorad) * sin(lat2 * degtorad)) + (cos(lat1 * degtorad) * cos(lat2 * degtorad) * cos(dlong * degtorad));
double dd = acos(dvalue) * radtodeg;
double km = (dd * 111.302);

return (int)km;
}

cuando lo compilo en modo debug anda de maravilla pero cuando lo hago en modo release todo lo contrario ... lo debageo para ver los valores de las variables y con lo q me encuentro es q las coordenadas se representan de manera diferente .. osea .. en lugar de -34.666666... se pone en el formato -1.458765e008,, no creo q ese se el problema ...

a alguien le paso ... me pueden dar un consejo para solucionarlo ????


gracias ante todo.....


PD:: ejem.. en lugar de devolver 1971 dsevuelve 0 ...:S
PD2:: utilizo visual c++ 2005 express
  #2 (permalink)  
Antiguo 03/03/2008, 15:44
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: problemas con modo release [[double y float]]

Te recomiendo utilizar solo el tipo de dato double para evitar estos pequeños problemas de calculo.
__________________
Recursos Visual C++
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 03:07.