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.
Código
#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{ while (intentos<=3) { if (saltover<=salto) break; else if(saltover>salto){ } while (intentos<=3){ if (Cm<=m) break; else if(Cm>m){ } while (intentos<=3){ if (Mm<=M) break; else if(Mm>M){ } 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; return 0; }