Título: Duda sobre mi programa en C
Publicado por: juan310 en 17 Septiembre 2018, 03:36 am
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
Título: Re: Duda sobre mi programa en C
Publicado por: srWhiteSkull en 18 Septiembre 2018, 00:48 am
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
Título: Re: Duda sobre mi programa en C
Publicado por: jca1 en 18 Septiembre 2018, 04:56 am
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"); if(edad==0) break; printf("ingrese la altura:\t\n"); aux=altura; if(aux!=altura) { altura=altura*100; } printf("ingrese su genero:\t\n"); 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 ); 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
|