elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sobre mi programa en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre mi programa en C  (Leído 2,277 veces)
juan310

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Duda sobre mi programa en C
« en: 17 Septiembre 2018, 03:36 am »

Hola que tal he hecho este programa y tengo una duda sobre como hacer algo

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6.   int i,edad,mujeres25=0,hombres18=0,individuos18=0;
  7.   float altura;
  8.   char sexo;
  9.   for(i=0;i<40;i++)
  10.   {
  11.    printf("ingrese la edad:\t\n");
  12.    scanf("%d", &edad);
  13.    if(edad==0)
  14.      break;
  15.          printf("ingrese la altura:\t\n");
  16.          scanf("%f",&altura);
  17.  
  18.          printf("ingrese su genero:\t\n");
  19.          fflush(stdin);
  20.          sexo=getchar();
  21.       if(sexo== 'f' && edad > 25)
  22.       mujeres25++;
  23.       if(altura>170)
  24.       {
  25.           individuos18++;
  26.       }
  27.       else if (sexo=='m' && edad < 18)
  28.        hombres18++;
  29.       else if (edad>18 && altura>170)
  30.        individuos18++;
  31.  }
  32. 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);
  33. system("pause");
  34. return 0;
  35. }
  36.  

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


« Última modificación: 17 Septiembre 2018, 03:41 am por #!drvy » En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: Duda sobre mi programa en C
« Respuesta #1 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


En línea

jca1

Desconectado Desconectado

Mensajes: 59


Ver Perfil
Re: Duda sobre mi programa en C
« Respuesta #2 en: 18 Septiembre 2018, 04:56 am »

Buenas, si lo que quieres es por si ponen una altura en cm te paso este codigo


Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6.   int i,edad,mujeresMayores25=0,hombresMenores25=0,individuos18=0,aux;
  7.   float altura;
  8.   char sexo;
  9.   for(i=0;i<5;i++)
  10.   {
  11.    printf("ingrese la edad:\t\n");
  12.    scanf("%d", &edad);
  13.    if(edad==0)
  14.      break;
  15.          printf("ingrese la altura:\t\n");
  16.          scanf("%f",&altura);
  17.          aux=altura;
  18.          if(aux!=altura)
  19.          {
  20.              altura=altura*100;
  21.  
  22.          }
  23.  
  24.          printf("ingrese su genero:\t\n");
  25.          fflush(stdin);
  26.          sexo=getchar();
  27.       if(sexo== 'f' && edad > 25)
  28.       mujeresMayores25++;
  29.       else{
  30.       if(sexo=='m' && edad < 25){
  31.        hombresMenores25++;
  32.       }
  33.       if(altura>170 && edad>18)
  34.       {
  35.           individuos18++;
  36.       }
  37.  }
  38.   }
  39. 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);
  40. system("pause");
  41. return 0;
  42. }

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
« Última modificación: 18 Septiembre 2018, 06:00 am por simorg » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Una duda sobre un programa.
Ingeniería Inversa
Azazel 4 3,009 Último mensaje 13 Diciembre 2003, 13:09 pm
por harq
duda sobre programa .exe
Programación Visual Basic
gabyecc 1 1,965 Último mensaje 4 Junio 2009, 18:47 pm
por gabyecc
[?]duda sobre mi programa en c++
Programación C/C++
rocker25 6 4,091 Último mensaje 13 Junio 2010, 18:44 pm
por rocker25
Duda sobre programa en c++
Programación C/C++
asdavid 2 2,496 Último mensaje 1 Noviembre 2012, 16:06 pm
por BatchianoISpyxolo
Duda sobre programa PIC
Electrónica
Fox_Neo 2 3,728 Último mensaje 18 Abril 2013, 22:57 pm
por Fox_Neo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines