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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: [Ayuda]Un programa en C en: 15 Enero 2015, 00:04 am
Gracias por responderme :D
ya casi lo tengo listo, solo tengo un error en calcular las medias de las edades de los hombres y de las mujeres. Me da lo mismo que la media general.


Muchas gracias a todos, estaré molestado por aqui cuando tenga dudas :D









Código
  1. #include <stdio.h>
  2.  
  3.  
  4. typedef struct
  5. {
  6.       int secuencia;
  7.       char sexo;
  8.       int edad;
  9. }persona;
  10.  
  11. //funcion estudio estadistico//      
  12. persona leerDatos()
  13. {
  14.      int i,sumaEdad=0,cantidadHombres=0,cantidadMujeres=0,hombreMenor20=0,mujerEntre13y16=0;
  15.      float mediaEdad=0;
  16.      int sumaEdadMujer=0,sumaEdadHombre=0;
  17.      persona p1;
  18.      persona hMenor;
  19.      persona mMenor;
  20.  
  21.      p1.secuencia=1;
  22.  
  23.     printf("Introduzca el sexo de la persona %d , H(HOMBRE) o M(MUJER)\n",p1.secuencia);
  24.     fflush(stdin);
  25.     scanf("%c",&p1.sexo);                
  26.     printf("Introduzca la edad de la persona %d \n",p1.secuencia);
  27.     fflush(stdin);
  28.     scanf("%d",&p1.edad);
  29.  
  30.          sumaEdad+=p1.edad;
  31.  
  32.       if (p1.sexo=='H' || p1.sexo=='h')
  33.     { cantidadHombres++;
  34.     sumaEdadHombre+=p1.edad;
  35.     hMenor.edad=p1.edad;
  36.     hMenor.sexo=p1.sexo;
  37.     hMenor.secuencia=p1.secuencia;
  38.           if (p1.edad<20)
  39.           { hombreMenor20++;}
  40.           }
  41.  
  42.       if (p1.sexo=='M' || p1.sexo=='m')
  43.     { cantidadMujeres++;
  44.      mMenor.edad=p1.edad;
  45.      mMenor.sexo=p1.sexo;
  46.      mMenor.secuencia=p1.secuencia;
  47.      sumaEdadMujer+=p1.sexo;
  48.  
  49.           if (p1.edad<16 && p1.edad>13)
  50.           { mujerEntre13y16++;}
  51.           }    
  52.  
  53.  
  54.     //bucle for//
  55.      for(i=2;i<=10 ;i++)
  56.      {
  57.        p1.secuencia=i;
  58.  
  59.  
  60.     printf("Introduzca el sexo de la persona %d , H(HOMBRE) o M(MUJER)\n",p1.secuencia);
  61.     fflush(stdin);
  62.     scanf("%c",&p1.sexo);                
  63.     printf("Introduzca la edad de la persona %d \n",p1.secuencia);
  64.     fflush(stdin);
  65.     scanf("%d",&p1.edad);
  66.  
  67.     sumaEdad+=p1.edad;
  68.     mediaEdad=sumaEdad/p1.secuencia;
  69.  
  70.       if (p1.sexo=='H' || p1.sexo=='h')
  71.     { cantidadHombres++;
  72.        sumaEdadHombre+=p1.edad;
  73.        if (p1.edad<hMenor.edad)
  74.            {hMenor.edad=p1.edad;
  75.             hMenor.sexo=p1.sexo;
  76.             hMenor.secuencia=p1.secuencia;
  77.             }
  78.  
  79.           if (p1.edad<20)
  80.           { hombreMenor20++;}
  81.           }
  82.  
  83.       if (p1.sexo=='M' || p1.sexo=='m')
  84.     { cantidadMujeres++;
  85.        sumaEdadMujer+=p1.edad;
  86.        if (p1.edad<mMenor.edad)
  87.        {
  88.      mMenor.edad=p1.edad;
  89.      mMenor.sexo=p1.sexo;
  90.      mMenor.secuencia=p1.secuencia;
  91.      }
  92.  
  93.           if (p1.edad<16 && p1.edad>13)
  94.           { mujerEntre13y16++;}
  95.           }    
  96.           }      
  97.  
  98.  
  99.     printf("\n La edad media es : %g años ",mediaEdad);
  100.      printf("\n La edad media de hombres es : %g años ",sumaEdadHombre/cantidadHombres);
  101.       printf("\n La edad media de mujeres es : %g años ",sumaEdadMujer/cantidadMujeres);
  102.        printf("\n La cantidad de hombres menor de 20 años es : %d",hombreMenor20);
  103.         printf("\n La cantidad de mujeres entre 13 y 16 años es : %d",mujerEntre13y16);
  104.  
  105.     printf("\n El hombre mas joven es la persona %d de edad %d",hMenor.secuencia,hMenor.edad);
  106.     printf("\n El mujer mas joven es la persona %d de edad %d",mMenor.secuencia,mMenor.edad);
  107.  
  108.  
  109.     return p1;
  110.  
  111. }    
  112.  
  113.  
  114. //funcion imprimir//
  115.  
  116. void imprimirDatos(persona p)
  117. {      printf(" Numero de secuencia:%d\n",p.secuencia);
  118.     printf(" Sexo:%c\n",p.sexo);
  119.     printf(" Edad:%d\n",p.edad);
  120.  
  121. }  
  122.  
  123. // main//
  124.  
  125. int main()
  126. {
  127.  
  128.    leerDatos();
  129.  
  130.  
  131.  
  132.  
  133.    system("pause");
  134.  
  135.    return 0;
  136. }
  137.  
2  Programación / Programación C/C++ / [Ayuda]Un programa en C de Estructuras en: 12 Enero 2015, 08:22 am
Hola este es mi primero Post , soy un estudianto de 1ero de  Ing.informática de la UAH y recien estoy empezando a programa. Este ejercicio me está costando mucho, quisiera ayuda para poder resolverlo  El enunciado es el siguiente:

1.Implemente las estructuras de datos que permitan almacenar información
anónima sobre personas con objeto de hacer un estudio estadístico. Así, se
deberá almacenar el número de secuencia, sexo y edad de cada persona.
Programe además un par de funciones para (a) leer por teclado datos
relativos a una persona y (b) para mostrar dichos datos por pantalla.  

2.Sin utilizar arrays, programe un software que utilice lo programado en el
ejercicio 1 para leer la edad de 10 personas y calcular la media de edad
general, la media por sexo, la cantidad de mujeres que tienen entre 13 y 16
años y el número de hombres menores de 20 años.  

3.Amplíe el ejercicio anterior mostrando al final del proceso los datos
completos de la mujer y el hombre más jóvenes de los introducidos.


Esto es lo que hasta ahora tengo

Código
  1. #include <stdio.h>
  2.  
  3.  
  4. struct persona
  5. {
  6.       int secuencia;
  7.       char sexo;
  8.       int edad;
  9. };
  10.  
  11. struct persona leerDatos()
  12. {
  13.     struct persona p1;
  14.      printf("Introduzca numero de secuencia \n ");
  15.      fflush(stdin);
  16.      scanf("%d",&p1.secuencia);
  17.  
  18.     printf("Teclee el sexo, H(hombre) o M(mujer)\n");
  19.     fflush(stdin);
  20.     scanf("%c",&p1.sexo);
  21.     printf("Introduzca la edad \n");
  22.     fflush(stdin);
  23.     scanf("%d",&p1.edad);
  24.  
  25.     return p1;
  26.  
  27. }    
  28.  
  29. void imprimirDatos(struct persona p1)
  30. {      printf(" Numero de secuencia:%d\n",p1.secuencia);
  31.     printf(" Sexo:%c\n",p1.sexo);
  32.     printf(" Edad:%d\n",p1.edad);
  33.  
  34. }          
  35. int main()
  36. {
  37.   struct persona p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;
  38.   int mediaEdad;
  39.  
  40.   p1=leerDatos();
  41.   p2=leerDatos();
  42.   p3=leerDatos();
  43.   p4=leerDatos();
  44.   p5=leerDatos();
  45.   p6=leerDatos();
  46.   p7=leerDatos();
  47.   p8=leerDatos();
  48.   p9=leerDatos();
  49.   p10=leerDatos();
  50.  
  51.   //calculo de media edad //
  52.   mediaEdad=(p1.edad+p2.edad+p3.edad+p4.edad+p5.edad+p6.edad+p7.edad+p8.edad+p9.edad+p10.edad)/10;
  53.   printf("La media es %d",mediaEdad);
  54.  
  55.  
  56.  
  57.    system("pause");
  58.  
  59.    return 0;
  60. }
  61.  


Agradeceria mucho si alguien pudiera ayudarme.

Mod: Al publicar Código usa etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines