Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Verificando aprobación en una asignatura

public class aprobaciónAsignaturas { public static void main(String[] args) { int numAsignaturas; int maxAsignatura = 10; float media = 0; Scanner scanner = new Scanner(System.in);

    while(true) {
        System.out.println("Hola, evaluemos a tus estudiantes, " +
                "por favor ingresa el numero de asiganturas (maximo " + maxAsignatura + ")");
        numAsignaturas = scanner.nextInt();

        if (numAsignaturas > maxAsignatura) {
            System.out.println("Ingresaste mas de " + maxAsignatura + " asignaturas");
            break;
        }else{
            for (int i = 0; i <= numAsignaturas-1; i++) {
                System.out.println("Ingresa la calificación de la asignatura numero " + (i+1));
                media = media + scanner.nextFloat();
            }
            media = media/numAsignaturas;

            if(media >= 7.0){
                System.out.println("El estudiante tuvo un promedio de " + media +
                        " y fue aprobado");
            } else if ((media == 5) && (media <= 6.9)) {
                System.out.println("El estudiante tuvo un promedio de " + media +
                        " y se encuentra en recuperación");

            } else if (media < 5) {
                System.out.println("El estudiante tuvo un promedio de " + media +
                        " y fue reprobado");

            }
            break;
        }
    }
}

}

1 respuesta

Hola Jorge, espero que estés bien

He revisado tu código y parece que estás en el camino correcto para determinar la aprobación de los estudiantes según sus promedios. Sin embargo, noté un pequeño error en la condición para determinar si un estudiante está en recuperación. Actualmente, tienes esta línea:

else if ((media == 5) && (media <= 6.9)) {

El uso de media == 5 no es necesario y puede causar problemas. Deberías verificar si el promedio está entre 5.0 y 6.9, así que la condición debería ser:

else if (media >= 5.0 && media <= 6.9) {

Espero que esto te ayude a resolver el problema. ¡Bons estudos!