Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Respuesta verificador de aprobación

import java.util.Scanner;

public class AprobadorDeAsignatura {
    public static void main(String[] args) {
        double promedio;
        int cantidadNotas = 0;
        double sumaNotas = 0;
        int opcionMenu = 0;
        Scanner scanner = new Scanner(System.in);

        String menu = """
                Ingrese una de las siguientes opciones
                1 - Ingresar nueva nota del alumno
                2 - Determinar promedio y aprobación del alumno
                """;

        while (opcionMenu != 2){
            System.out.println(menu);
            opcionMenu = scanner.nextInt();

            switch (opcionMenu){
                case 1:
                    System.out.println("Ingrese nota del alumno");
                    double nota = scanner.nextDouble();
                    sumaNotas += nota;
                    cantidadNotas ++;
                    break;
                case 2:
                   if (cantidadNotas == 0){
                       System.out.println("Alumno sin notas ingresadas");
                       opcionMenu = 0;
                       break;
                   }else{
                       promedio = sumaNotas / cantidadNotas;
                       if (promedio >= 7.0){
                           System.out.println("Estudiante aprobado con promedio " + promedio);
                           break;
                       } else if(promedio < 7.0 && promedio >= 5.0){
                           System.out.println("Estudiante en recuperación con promedio " + promedio);
                           break;
                       } else{
                           System.out.println("Estudiante reprobado con promedio " + promedio);
                           break;
                       }
                   }
                default:
                    System.out.println("Ingrese una opción válida");
            };

        }


    }
}
2 respuestas

Hola Manuel, espero que estés bien

Tu programa parece estar bien encaminado para resolver el problema de determinar si un estudiante ha sido aprobado, está en recuperación o ha reprobado, basado en su promedio. Sin embargo, hay un pequeño detalle que podrías ajustar para que el programa se alinee perfectamente con el ejemplo de salida esperada que mencionaste.

En el ejercicio, el formato de salida esperado es un poco diferente al que tienes actualmente. Aquí te dejo un ejemplo de cómo podrías ajustar el mensaje de salida para que coincida con el formato esperado:

if (promedio >= 7.0) {
    System.out.println("El estudiante tuvo un promedio de " + promedio + " y fue aprobado.");
} else if (promedio < 7.0 && promedio >= 5.0) {
    System.out.println("El estudiante tuvo un promedio de " + promedio + " y está en recuperación.");
} else {
    System.out.println("El estudiante tuvo un promedio de " + promedio + " y fue reprobado.");
}

Con este ajuste, el mensaje de salida incluirá "El estudiante tuvo un promedio de X y fue aprobado/está en recuperación/fue reprobado", que es lo que se espera según el ejemplo que proporcionaste.

Espero que esta sugerencia te sea útil. ¡Bons estudios!

Hola Manuel, me gusta tu propuesta de solución, gracias por compartirla!