Javier Rohman

Generation

generate functionFri, 23 May 2025

crea un código de registrar una nota, en base a la siguiente información: Primeramente ingresar lo siguiente:  Cedula del estudiante, con su respectiva cantidad de números. si es incorrecto, que de error y volver a intentarlo. al igual si se digita letras.  Código de Materia, que tenga 5 caracteres, si es incorrecto, que de error y volver a intentarlo.al igual si se digita letras.  Nota obtenida, que tenga solamente números entre el 1 al 100 y que de error si se digita letras Operación para realizar: Una vez registrada la nota, el sistema debe presentar una leyenda que indique si ha ganado el curso [mayor a 69], si ha reprobado [menor a 65] o debe realizar examen extraordinario [mayor o igual a 65 pero menor a 69 ].

Aquí te muestro un ejemplo de código en Java que cumple con las especificaciones que me proporcionaste: ```java import java.util.InputMismatchException; import java.util.Scanner; public class RegistrarNota { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean continuar = true; while (continuar) { System.out.println("Ingrese la cédula del estudiante:"); String cedula = scanner.nextLine(); while (!esValidaCedula(cedula)) { System.out.println("Error: La cédula debe ser un número de 10 dígitos. Por favor, ingrese nuevamente."); cedula = scanner.nextLine(); } System.out.println("Ingrese el código de materia (5 caracteres):"); String codigoMateria = scanner.nextLine(); while (!esValidoCodigoMateria(codigoMateria)) { System.out.println("Error: El código de materia debe ser un string de 5 caracteres. Por favor, ingrese nuevamente."); codigoMateria = scanner.nextLine(); } System.out.println("Ingrese la nota obtenida:"); String nota = scanner.nextLine(); while (!esValidaNota(nota)) { System.out.println("Error: La nota debe ser un número entre 1 y 100. Por favor, ingrese nuevamente."); nota = scanner.nextLine(); } int notaInt = Integer.parseInt(nota); String resultado = obtenerResultado(notaInt); System.out.println("La nota del estudiante es: " + notaInt); System.out.println(resultado); System.out.println("¿Desea registrar otra nota? (s/n)"); String respuesta = scanner.nextLine().toLowerCase(); while (!respuesta.equals("s") && !respuesta.equals("n")) { System.out.println("Error: Por favor, ingrese 's' para sí o 'n' para no."); respuesta = scanner.nextLine().toLowerCase(); } continuar = respuesta.equals("s"); } scanner.close(); } private static boolean esValidaCedula(String cedula) { return cedula.matches("\\d{10}"); } private static boolean esValidoCodigoMateria(String codigoMateria) { return codigoMateria.matches("[a-zA-Z0-9]{5}"); } private static boolean esValidaNota(String nota) { try { int notaInt = Integer.parseInt(nota); return notaInt >= 1 && notaInt <= 100; } catch (NumberFormatException e) { return false; } } private static String obtenerResultado(int nota) { if (nota > 69) { return "Ha ganado el curso."; } else if (nota < 65) { return "Ha reprobado el curso."; } else { return "Debe realizar examen extraordinario."; } } } ``` Este código utiliza un bucle `while` para permitir al usuario registrar múltiples notas. En cada iteración, se solicita la cédula del estudiante, el código de materia y la nota obtenida. Si el usuario ingresa algo inválido, se muestra un mensaje de error y se le pide que ingrese nuevamente. La función `esValidaCedula` verifica si la cédula es un número de 10 dígitos. La función `esValidoCodigoMateria` verifica si el código de materia es un string de 5 caracteres. La función `esValidaNota` verifica si la nota es un número entre 1 y 100. La función `obtenerResultado` devuelve una leyenda que indica si el estudiante ha ganado el curso, ha reprobado el curso o debe realizar examen extraordinario. Finalmente, se muestra una leyenda con el resultado de la nota y se le pide al usuario si desea registrar otra nota. Si el usuario ingresa 's', se repite el proceso. Si ingresa 'n', se cierra el programa.

Want to kickstart your project?Use the new AI Studio to create your code