Advertisement
Fhernd

app.js

Nov 8th, 2017
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Objeto Estudiante:
  2. function Estudiante(codigo, nombre, nota) {
  3.     this.codigo = codigo;
  4.     this.nombre = nombre;
  5.     this.nota = nota;
  6. }
  7.  
  8. // Módulo que agrupa las funciones realacionadas con el sistema:
  9. var GestorEstudiantes = {
  10.     estudiantes: [],
  11.     init: function () {
  12.         document.getElementById('registroEstudiante').addEventListener('click', this.registrarEstudiante);
  13.         document.getElementById('calculoPromedio').addEventListener('click', this.calcularNotaPromedio);
  14.         document.getElementById('calculoNotaMayor').addEventListener('click', this.calcularNotaMayor);
  15.         document.getElementById('calculoNotaMenor').addEventListener('click', this.calcularNotaMenor);
  16.     },
  17.     registrarEstudiante: function () {
  18.         var codigo = document.getElementById('codigo');
  19.         var nombre = document.getElementById('nombre');
  20.         var nota = document.getElementById('nota');
  21.  
  22.         if (codigo.value && nombre.value && nota.value) {
  23.             if(parseInt(codigo.value) > 0) {
  24.                 if(parseFloat(nota.value) >= 0 && parseFloat(nota.value) <= 5.0) {
  25.                     if (!GestorEstudiantes.estudianteExiste(parseInt(codigo.value))) {
  26.                         var nuevoEstudiante = new Estudiante(parseInt(codigo.value), nombre.value, parseFloat(nota.value));
  27.                         GestorEstudiantes.estudiantes.push(nuevoEstudiante);
  28.  
  29.                         var notasTBody = document.getElementById('notas');
  30.                         var nuevoTr = document.createElement('tr');
  31.  
  32.                         var idTd = document.createElement('td');
  33.                         idTd.textContent = nuevoEstudiante.codigo;
  34.                         nuevoTr.appendChild(idTd);
  35.  
  36.                         var nombreTd = document.createElement('td');
  37.                         nombreTd.textContent = nuevoEstudiante.nombre;
  38.                         nuevoTr.appendChild(nombreTd);
  39.  
  40.                         var notaTd = document.createElement('td');
  41.                         notaTd.textContent = nuevoEstudiante.nota;
  42.                         nuevoTr.appendChild(notaTd);
  43.  
  44.                         notasTBody.appendChild(nuevoTr);
  45.                     } else {
  46.                         alert('Un estudiante con el código ' + String(codigo.value) + ' ya existe.');
  47.                     }
  48.                 } else {
  49.                     alert('La nota debe estar entre 0.0 y 5.0');
  50.                 }
  51.             } else {
  52.                 alert('El código debe ser positivo');
  53.             }
  54.         } else {
  55.             alert('Todos los campos son obligatorios');
  56.         }
  57.     },
  58.     calcularNotaPromedio: function () {
  59.         var sumaNotas = 0.0;
  60.  
  61.         for (var i = 0; i < GestorEstudiantes.estudiantes.length; ++i) {
  62.             sumaNotas += GestorEstudiantes.estudiantes[i].nota;
  63.         }
  64.  
  65.         alert("La nota promedio es: " + (sumaNotas / GestorEstudiantes.estudiantes.length).toFixed(2));
  66.     },
  67.     calcularNotaMayor: function () {
  68.         var indiceNotaMayor = 0;
  69.         var notaMayor = GestorEstudiantes.estudiantes[indiceNotaMayor].nota;
  70.  
  71.         for (var i = 1; i < GestorEstudiantes.estudiantes.length; ++i) {
  72.             if (GestorEstudiantes.estudiantes[i].nota > notaMayor) {
  73.                 notaMayor = GestorEstudiantes.estudiantes[i].nota;
  74.                 indiceNotaMayor = i;
  75.             }
  76.         }
  77.  
  78.         alert("El estudiante " + GestorEstudiantes.estudiantes[indiceNotaMayor].nombre + " tiene la nota mayor: " + notaMayor);
  79.     },
  80.     calcularNotaMenor: function () {
  81.         var indiceNotaMenor = 0;
  82.         var notaMenor = GestorEstudiantes.estudiantes[indiceNotaMenor].nota;
  83.  
  84.         for (var i = 1; i < GestorEstudiantes.estudiantes.length; ++i) {
  85.             if (GestorEstudiantes.estudiantes[i].nota < notaMenor) {
  86.                 notaMenor = GestorEstudiantes.estudiantes[i].nota;
  87.                 indiceNotaMenor = i;
  88.             }
  89.         }
  90.  
  91.         alert("El estudiante " + GestorEstudiantes.estudiantes[indiceNotaMenor].nombre + " tiene la nota menor: " + notaMenor);
  92.     },
  93.     estudianteExiste: function(codigo){
  94.         for(var i = 0; i < this.estudiantes.length; ++i){
  95.             if(codigo === this.estudiantes[i].codigo){
  96.                 return true;
  97.             }
  98.         }
  99.  
  100.         return false;
  101.     }
  102. };
  103.  
  104. GestorEstudiantes.init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement