Hola que tal he hecho este programa y tengo una duda sobre como hacer algo
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i,edad,mujeres25=0,hombres18=0,individuos18=0;
float altura;
char sexo;
for(i=0;i<40;i++)
{
printf("ingrese la edad:\t\n");
scanf("%d", &edad);
if(edad==0)
break;
printf("ingrese la altura:\t\n");
scanf("%f",&altura);
printf("ingrese su genero:\t\n");
fflush(stdin);
sexo=getchar();
if(sexo== 'f' && edad > 25)
mujeres25++;
if(altura>170)
{
individuos18++;
}
else if (sexo=='m' && edad < 18)
hombres18++;
else if (edad>18 && altura>170)
individuos18++;
}
printf("mujeres mayores que 25: %.2f \t\n varones menores a 25: %.2f\t\n individuos mayores que 18 y altura mayor a 170cm: %.2f\t\n ",(float)mujeres25 * 100/i,(float)hombres18*100/i,(float)individuos18*100/i);
system("pause");
return 0;
}
lo que quiero hacer es que cuando se ponga un numero con coma aparezca un mensaje printf que diga "ERROR" o algo asi pero he intentado varios lugares y nose donde y como ponerlo.
gracias de antemano
Entonces pienso que deberías tomar la entrada como una cadena y no como numérica. Luego buscas la coma en la cadena por ejemplo recorriéndola con un bucle y después convertir la cadena en un tipo numérico en caso de no encontrar la coma.
http://c.conclase.net/librerias/?ansifun=atoi
Buenas, si lo que quieres es por si ponen una altura en cm te paso este codigo
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i,edad,mujeresMayores25=0,hombresMenores25=0,individuos18=0,aux;
float altura;
char sexo;
for(i=0;i<5;i++)
{
printf("ingrese la edad:\t\n");
scanf("%d", &edad);
if(edad==0)
break;
printf("ingrese la altura:\t\n");
scanf("%f",&altura);
aux=altura;
if(aux!=altura)
{
altura=altura*100;
}
printf("ingrese su genero:\t\n");
fflush(stdin);
sexo=getchar();
if(sexo== 'f' && edad > 25)
mujeresMayores25++;
else{
if(sexo=='m' && edad < 25){
hombresMenores25++;
}
if(altura>170 && edad>18)
{
individuos18++;
}
}
}
printf("mujeres mayores que 25: %.2f \t\n varones menores a 25: %.2f\t\n individuos mayores que 18 y altura mayor a 170cm: %.2f\t\n ",(float)mujeresMayores25 * 100/i,(float)hombresMenores25*100/i,(float)individuos18*100/i);
system("pause");
return 0;
}
Fijate tambien que estaban mal las condiciones para lo que querias mostrar. la altura la puede poner en metros o en centimetros, y la guarda como unidad minima en centimetros.
espero que te sirva, saludos