0% encontró este documento útil (0 votos)
12 vistas6 páginas

Tarea Despues Del Parcial

El documento presenta un sistema de gestión de notas para estudiantes universitarios en Java, donde se pueden agregar estudiantes y materias, y calcular promedios. Incluye clases para materias teóricas y prácticas, así como una interfaz para la gestión de estudiantes. Además, se proporciona un menú interactivo para realizar estas acciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas6 páginas

Tarea Despues Del Parcial

El documento presenta un sistema de gestión de notas para estudiantes universitarios en Java, donde se pueden agregar estudiantes y materias, y calcular promedios. Incluye clases para materias teóricas y prácticas, así como una interfaz para la gestión de estudiantes. Además, se proporciona un menú interactivo para realizar estas acciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Presentación

Nombre:

Carlos Miguel

Apellido:

Gómez Pérez

Matricula:

2024-1064

Día de Clases:

Jueves 2:00 PM

Materia:

Programación 1

Maestro:

Freidy Núñez

Carrera:

Desarrollo de Software
package pruebajava1;

import java.util.ArrayList;

import java.util.Scanner;

public class SistemaNotas {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

ArrayList<EstudianteUniversitario> estudiantes = new ArrayList<>();

while (true) {

System.out.println("\n1. Agregar estudiante");

System.out.println("2. Agregar materia a estudiante");


System.out.println("3. Calcular promedio de estudiante");

System.out.println("4. Salir");

System.out.print("Seleccione una opción: ");

int opcion = sc.nextInt();

sc.nextLine();

switch (opcion) {

case 1 -> {

System.out.print("Nombre del estudiante: ");

String nombre = sc.nextLine();

estudiantes.add(new EstudianteUniversitario(nombre));

case 2 -> {

System.out.print("Nombre del estudiante: ");

String nombreEst = sc.nextLine();

EstudianteUniversitario estudiante = buscarEstudiante(estudiantes, nombreEst);

if (estudiante != null) {

System.out.print("Nombre de la materia: ");

String nombreMateria = sc.nextLine();

System.out.print("Créditos: ");

int creditos = sc.nextInt();


sc.nextLine();

System.out.print("Es teorica (1) o practica (2)?: ");

int tipo = sc.nextInt();

if (tipo == 1) {

System.out.print("Nota examen final: ");

double nota = sc.nextDouble();

estudiante.agregarMateria(new MateriaTeorica(nombreMateria, creditos,


nota));

} else if (tipo == 2) {

System.out.print("Nota proyecto: ");

double proyecto = sc.nextDouble();

System.out.print("Nota participación: ");

double participacion = sc.nextDouble();

estudiante.agregarMateria(new MateriaPractica(nombreMateria, creditos,


proyecto, participacion));

} else {

System.out.println("Estudiante no encontrado.");

case 3 -> {

System.out.print("Nombre del estudiante: ");

String nombreEst = sc.nextLine();

EstudianteUniversitario estudiante = buscarEstudiante(estudiantes, nombreEst);

if (estudiante != null) {

System.out.printf("Promedio: %.2f\n", estudiante.calcularPromedio());

} else {

System.out.println("Estudiante no encontrado.");

case 4 -> {

System.out.println("Saliendo...");

return;

}
default -> System.out.println("Opción inválida.");

private static EstudianteUniversitario buscarEstudiante(ArrayList<EstudianteUniversitario>


estudiantes, String nombre) {

for (EstudianteUniversitario e : estudiantes) {

if (e.getNombre().equalsIgnoreCase(nombre)) {

return e;

return null;

abstract class Materia {

private String nombre;

private int creditos;

public Materia(String nombre, int creditos) {

this.nombre = nombre;

this.creditos = creditos;

public String getNombre() {

return nombre;

public int getCreditos() {

return creditos;

public abstract double calcularCalificacion();


}

class MateriaTeorica extends Materia {

private double examenFinal;

public MateriaTeorica(String nombre, int creditos, double examenFinal) {

super(nombre, creditos);

this.examenFinal = examenFinal;

@Override

public double calcularCalificacion() {

return examenFinal;
}

class MateriaPractica extends Materia {

private double proyecto;

private double participacion;

public MateriaPractica(String nombre, int creditos, double proyecto, double participacion) {

super(nombre, creditos);

this.proyecto = proyecto;

this.participacion = participacion;

@Override

public double calcularCalificacion() {

return (proyecto * 0.7) + (participacion * 0.3);

interface Estudiante {

void agregarMateria(Materia materia);


double calcularPromedio();

class EstudianteUniversitario implements Estudiante {

private String nombre;

private ArrayList<Materia> materias;

public EstudianteUniversitario(String nombre) {

this.nombre = nombre;

this.materias = new ArrayList<>();

@Override
public void agregarMateria(Materia materia) {

materias.add(materia);

@Override

public double calcularPromedio() {


if (materias.isEmpty()) return 0.0;

double suma = 0;

for (Materia m : materias) {

suma += m.calcularCalificacion();

return suma / materias.size();

public String getNombre() {

return nombre;

También podría gustarte