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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa para clasificar por edades en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa para clasificar por edades en C  (Leído 8,562 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Programa para clasificar por edades en C
« en: 24 Abril 2013, 21:16 pm »

Muy buenas,

Esta vez estoy haciendo un programa para jugar con las edades de las personas, y según la edad que tenga que muestre un mensaje u otro. A ver si me echan una mano para corregir errores :P


  • Pedirá la edad de 10 personas
  • La edad de estas personas debe ser un número entre 0 y 120. Habrá que validar que la edad sea correcta. Al final, tendremos 10 edades correctas.
  • Escribirá uno o varios mensajes según el siguiente criterio:
Mensajes:

Si hay alguna persona de menos de 18 años: Vaya a Pasear
Si todos tienen 18 o más años, pero hay al menos 4 personas con menos de 29 años: Vaya a la discoteca
Si todos tienen 18 o más años, pero hay al menos 4 personas con más de 29 años: Ir al cine
Si todos tienen al menos 50 años: Ir al teatro



Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(){
  6.  
  7.    int edad;
  8.    int i=0;
  9.  
  10.    while (i < 10){
  11.          printf("Escribe una edad: ");
  12.          scanf("%d", &edad);
  13.  
  14.          if ((edad > 0) && (edad < 120)){
  15.                    i++;
  16.          }
  17.    }
  18.  
  19.    if (edad < 18){
  20.             printf("\nVete a pasear");
  21.    }
  22.    if ((edad >= 18) && (edad < 27)){
  23.             printf("\nVete a la discoteca");
  24.    }
  25.    if ((edad >= 18) && (edad > 29)){
  26.             printf("\nVete al cine");
  27.    }
  28.    if (edad >= 50){
  29.             printf("\nVete al teatro");
  30.    }
  31.  
  32.    printf("\n\n");
  33.  system("pause");
  34.  return 0;
  35. }
  36.  


En línea

gorystyle

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Programa para clasificar por edades en C
« Respuesta #1 en: 24 Abril 2013, 21:40 pm »

pues amigo asi ojeandolo veo que te hacen falta primero que todo contadores para las edades asi sabes cuantos menores de 18 cuantos mayores de 18 cuantos menores de 29 cuantos mayores de 50. dentro del while debes aumentar estos contadores dependiendo de que edad escoja el usuario al salir haces los calculos x ejemplo :

Código:
if(contaMenorDiesiocho > 0)//si hay almenos un menor de 18
{
   cout << "Valla a pasear"  << endl;
}
if(contaMayCincuenta == 10)//todos son mayores de 50 años
{
   cout << "ir al teatro" << endl;
}

y asi con las otras condiciones


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Programa para clasificar por edades en C
« Respuesta #2 en: 25 Abril 2013, 05:59 am »

Esta vez estoy haciendo un programa para jugar con las edades de las personas, y según la edad que tenga que muestre un mensaje u otro.

[...]

A) Si hay alguna persona de menos de 18 años: Vaya a Pasear
B) Si todos tienen 18 o más años, pero hay al menos 4 personas con menos de 29 años: Vaya a la discoteca
C) Si todos tienen 18 o más años, pero hay al menos 4 personas con más de 29 años: Ir al cine
D) Si todos tienen al menos 50 años: Ir al teatro
Un problema y un detalle con el enunciado:

El problema: si las edades introducidas son todas iguales a 29 no se presenta un mensaje.
El detalle: el caso D se debe procesar antes que el C, esto porque si todos son mayores de 49 se cumple con las condiciones de los casos C y D.

Como ya te comento gorystyle en el cuerpo del bucle donde lees cada una de las edades debes incrementar los contadores que correspondan a la edad, mas o menos así:
Código
  1. if (edad < 29){
  2.   menores_de_29++;
  3.  
  4.   if (edad < 18)
  5.      menores_de_18++;
  6. }else if (edad > 29){
  7.   mayores_de_29++;
  8.  
  9.   if (edad > 49)
  10.      mayores_de_49++;
  11. }

Después de leer todas las edades solo tienes que utilizar un condicional "if ... else if ..." verificando si se cumple la condición de alguno de los cuatro casos.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
mr.blood

Desconectado Desconectado

Mensajes: 150


Ver Perfil
Re: Programa para clasificar por edades en C
« Respuesta #3 en: 26 Abril 2013, 09:44 am »

Solo decir esto ;).

Código
  1. (edad >= 18) && (edad > 29)

Si son mayores de 29 obviamente son mayores de 18, podrias eliminar una comparacion :).

Sa1uDoS
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines