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

Comparar decimales en C

Estas en el tema de Comparar decimales en C en el foro de C/C++ en Foros del Web. HOLA A TODOS. Necesito ayuda con este programa. Resulta que cuando cargo estatura=1.80 y las demas variables con datos para que entre al if acaba ...
  #1 (permalink)  
Antiguo 15/11/2010, 19:48
 
Fecha de Ingreso: julio-2008
Mensajes: 6
Antigüedad: 16 años, 4 meses
Puntos: 0
Comparar decimales en C

HOLA A TODOS. Necesito ayuda con este programa. Resulta que cuando cargo estatura=1.80 y las demas variables con datos para que entre al if acaba pasando al else. no encuentro el error deberia entra ya que estatura es >= a 1.80

#include<stdio.h>

main(){

float estatura;
int edad,peso;

printf("Estatura: "); scanf("%f",&estatura);
printf("Peso: "); scanf("%d",&peso);
printf("Edad: "); scanf("%d",&edad);

if ( (edad <= 18) && (estatura >= 1.80) && (peso >= 80))
printf("\n *** SI *** \n\n");
else
printf("\n *** NO *** \n\n");

}
  #2 (permalink)  
Antiguo 16/11/2010, 09:12
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar decimales en C

¿estás seguro de que el valor que cargás (y que toma el programa) es 1,80 y no 1,79999999999? puede ser un problema con la representación de punto flotante.

Probá redondear el número a 2 dígitos decimales, o multiplicar por 100, tomar la parte entera, y comparar con 180.

saludos.

Etiquetas: comparar
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 04:02.