Untitled
unknown
plain_text
a year ago
3.5 kB
9
Indexable
let inputNombre = document.getElementById("nombre")
let inputApellido = document.getElementById("apellido")
let inputMatricula = document.getElementById("matricula")
let inputNota = document.getElementById("nota")
let h3Nota = document.getElementById("mostrarPromedio")
let btnGuardar = document.getElementById("boton")
let btnCalcularProm = document.getElementById("btnProm")
let clearBtn = document.getElementById("limpiarBtn")
const h1Texto = document.getElementById("mostrarEstudiante")
let tbody = document.querySelector("#datos")
let estudiantes = [];
let Estudiante = class {
constructor(nombre, apellido, matricula, nota) {
this.nombre = nombre
this.apellido = apellido
this.matricula = matricula
this.nota = nota
}
};
const limpiar = () => {
inputNombre.value = ""
inputApellido.value = ""
inputMatricula.value = ""
inputNota.value = ""
};
clearBtn.addEventListener("click", (e) => {
limpiar();
});
const agregarEstudianteATabla = (estudiante) => {
let tr = document.createElement("tr")
let tdIndice = document.createElement("td")
let tdNombre = document.createElement("td")
let tdApellido = document.createElement("td")
let tdMatricula = document.createElement("td")
let tdNota = document.createElement("td")
let nodoTextoIndice = document.createTextNode(
estudiantes.indexOf(estudiante) + 1
);
let nodoTextoNombre = document.createTextNode(estudiante.nombre)
let nodoTextoApellido = document.createTextNode(estudiante.apellido)
let nodoTextoMatricula = document.createTextNode(estudiante.matricula)
let nodoTextoNota = document.createTextNode(estudiante.nota)
tdIndice.appendChild(nodoTextoIndice)
tdNombre.appendChild(nodoTextoNombre)
tdApellido.appendChild(nodoTextoApellido)
tdMatricula.appendChild(nodoTextoMatricula)
tdNota.appendChild(nodoTextoNota)
tr.append(tdIndice, tdNombre, tdApellido, tdMatricula, tdNota)
tbody.appendChild(tr)
}
let cargarEstudiantesGuardados = () => {
let estudiantesGuardados = JSON.parse(localStorage.getItem("estudiantes"))
if (estudiantesGuardados == null) {
estudiantes = []
} else {
estudiantes = estudiantesGuardados
}
}
let crearEstudiantes = (nombre, apellido, matricula, nota) => {
if (nombre && apellido && matricula && nota) {
let nuevoEstudiante = new Estudiante(nombre, apellido, matricula, nota)
estudiantes.push(nuevoEstudiante);
localStorage.setItem("estudiantes", JSON.stringify(estudiantes))
agregarEstudianteATabla(nuevoEstudiante);
alert(`El estudiante ${nombre} fue guardado`)
limpiar()
} else {
alert("Por favor, completa todos los campos del formulario.");
}
}
btnGuardar.addEventListener("click", (e) => {
let nombre = inputNombre.value;
let apellido = inputApellido.value;
let matricula = inputMatricula.value;
let nota = inputNota.value;
crearEstudiantes(nombre, apellido, matricula, nota)
})
btnCalcularProm.addEventListener("click", (e) => {
let i = 0;
estudiantes.forEach((e) => {
i += parseInt(e.nota)
})
promedio = i / estudiantes.length;
h3Nota.innerText = `El promedio de los estudiantes es: ${promedio.toFixed(
2
)}`
})
cargarEstudiantesGuardados()
if (estudiantes.length > 0) {
estudiantes.forEach(
(estudiante) => { pintarEstudiantes(estudiante.nombre, estudiante.apellido, estudiante.matricula, estudiante.nota)}
)
}
console.log(estudiantes)
Editor is loading...
Leave a Comment