Untitled
unknown
plain_text
10 months ago
3.5 kB
3
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