ayuda con una practica!

Iniciado por NLkurosaki, 14 Diciembre 2010, 20:20 PM

0 Miembros y 1 Visitante están viendo este tema.

NLkurosaki

Hola, tengo que hacer esta practica, solo me queda la ultima parte estadística, que aun no se como hacerla, por favor, ayudadme  :(

Una empresa tiene encomendado realizar las pruebas físicas de 100 aspirantes a
bomberos. Pruebas físicas a realizar por cada aspirante:
• Salto Vertical: mínima 60 cm
• Carrera de 100m lisos: mínima 12 seg.
• Carrera de 1000m. lisos: mínima 3 minutos
Cada opositor debe realizar las tres pruebas seguidas, si no supera todas las pruebas
tiene opción de repetir las pruebas un máximo de tres veces. Diseñar un programa que gestione
la organización de las pruebas para los opositores. No se pasará al siguiente opositor hasta
finalizar con el actual, el número de cada opositor coincidirá con su orden de participación. Las
mínimas de cada prueba deben definirse como constantes.
Al finalizar la gestión de las pruebas de cada opositor el programa debe de mostrar en pantalla
la estadística correspondiente (llamar al método estadística de la clase Opositor):
• Porcentaje de mejora sobre la mínima en la prueba de salto vertical
• Porcentaje de mejora sobre la mínima en la prueba de 100 m. lisos
• Porcentaje de mejora sobre la mínima en la prueba de 1000 m.
• Número de intentos en superar las pruebas
Al finalizar la participación de los opositores se mostrará por pantalla una estadística global:
• Porcentaje de opositores que han superado la prueba de salto vertical
• Porcentaje de opositores que han superado la prueba de 100 m. lisos
• Porcentaje de opositores que han superado la prueba de 1000 m.
• Porcentaje de opositores que han superado las tres pruebas
También se mostrará por pantalla el número del opositor que mejor tiempo ha obtenido
en la prueba de 100 m. lisos así como el tiempo que ha obtenido.


#include <stdio.h>
#include <stdlib.h>
#define saltover 60
#define Cm 12
#define Mm 3


main()
{
    int salto,m,M,mejorasalto,mejoram,mejoraM,superasalto,supera100m,supera1000m,supera3,mtiempo;
    int intentos=1;
    int salir=0,aprob=0;
    int opositor=1;
   
       
   do{
      printf("Opositor:%d\n",opositor++);
   
     while (intentos<=3) {
      printf("Introduce la altura de la prueba de salto vertical en cm:\n");
      scanf("%d",&salto);superasalto++;
      if (saltover<=salto)  printf("El opositor ha aprobado la prueba\n");
      if (saltover<=salto) break;
      else if(saltover>salto){
      printf("Prueba no superada\n");intentos=intentos+1;}
      }
       
     while (intentos<=3){              
      printf("Introduce el tiempo de la prueba de los 100 metros lisos en segundos:\n");
      scanf("%d",&m);supera100m++;
      if (Cm<=m)  printf("El opositor ha aprobado la prueba\n");
      if (Cm<=m)  break;
        else if(Cm>m){
      printf("Prueba no superada\n");intentos=intentos+1;}
      }
     
     while (intentos<=3){
      printf("Introduce el tiempo de la prueba de los 1000 metros lisos en minutos:\n");
      scanf("%d",&M);supera1000m++;
      if (Mm<=M)  printf("El opositor ha aprobado la prueba\n");
        if (Mm<=M)  break;
        else if(Mm>M){
      printf("Prueba no superada\n");intentos=intentos+1;}
      }
           
   
     mejorasalto=(salto-saltover)*100/saltover;
     mejoram=(m-Cm)*100/Cm;
     mejoraM=(M-Mm)*100/Mm;  
     
     
       printf("Ha mejorado el salto un:%d\nHa mejorado en la prueba de 100 m:%d\nHa mejorado en la prueba de 1000m:%d\nEl numero de intentos ha sido:%d\n",mejorasalto,mejoram,mejoraM,intentos);
      intentos=1;
     
       }while(opositor<=100);
     
       superasalto=superasalto*100/opositor;
       supera100m=supera100m*100/opositor;
       supera1000m=supera1000m*100/opositor;
       supera3;
                 
     printf("Porcentaje de opositores que han superado el salto vertical:%d\n",superasalto);
     printf("Porcentaje de opositores que han superado los 100m:%d\n",supera100m);
     printf("Porcentaje de opositores que han superado los 1000m:%d\n",supera1000m);
     printf("Porcentaje que ha superado las 3 pruebas:%d\n",supera3);
     printf("El mejor tiempo en 100m lisos ha sido el opositor:%d, y su tiempo a sido:%d\n",mtiempo);

 system("PAUSE");
 return 0;
}

Garfield07

rapidamente te comento un fallito...
      printf("El mejor tiempo en 100m lisos ha sido el opositor:%d, y su tiempo a sido:%d\n",mtiempo);
se te olvida la primera variable.

no he podido mirar tu codigo pero de primero vistazo veo eso.
mañana 18.30 PM te lo miro xD..


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

NLkurosaki

Ah! Ya, es que lo deje así mientras hacia lo demás, por que todo esa parte esta mal...y para que me dejara compilarlo lo puse así, muchas gracias :)

Garfield07

Bueno, no lo he compilado, tmb por prisas, pero tu code no es correcto, digamos. Veo fallos lógicos, se podría reducir, etc...
K error da?


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo