1
« en: Miércoles 4 de Abril de 2007, 21:46 »
Hola,
estoy programando en visual c++ 6.0 y tengo el problema de que no sé cómo detectar mediante excepciones las salidas de rango al operar con variables tipo double...
creo que _matherr soluciona este problema pero sólo para funciones propias de
math.h, pero qué hago con mis propias funciones???
por ejemplo en una de las funciones que calcula el factorial
double fact(long i){
double resultado;
if (i<0){
resultado=0;
}else if(i==0){
resultado=1;
}else{
resultado=i;
while (i!=1){
i--;
resultado=resultado*i;
}
//por lo visto en fact(171) se sobrecarga
//fact(171)>MAX_DOUBLE con lo cual a partir
//de ahí no hay cuenta que valga
}
return resultado;
}
¿Podríais ayudarme?
Un saludo