class Interfaz

Clase que permite representar un examen con sus preguntas y comprobar la puntuación del mismo.

Attributes

examen[R]

Atributo que tendrá el examen sobre el que se realizarán las comprobaciones.

Public Class Methods

new(examen) click to toggle source

Inicialización del atributo examen.

# File exam/interfaz.rb, line 7
def initialize(examen)
   @examen = examen 
    
end

Public Instance Methods

compararRespuestas(respuestasUsuario) click to toggle source

Método que en función de unas respuestas proporcionadas por el usuario comprueba la nota obtenida en el examen y se la muestra al usuario.

# File exam/interfaz.rb, line 15
def compararRespuestas(respuestasUsuario)
   iterador =0
   respuestasCorrectas = 0
   
   for i in @examen.preguntas do
       if i.respuestaCorrecta == respuestasUsuario[iterador]
          respuestasCorrectas += 1 
       end
       iterador +=1
   end
   if respuestasCorrectas < (iterador/2)+1
       mensaje = "Ha suspendido el examen: #{respuestasCorrectas}/#{iterador}"
   else
       if respuestasCorrectas == iterador
           mensaje = "Su nota es: Sobresaliente 10"
       else
           mensaje = "Ha aprobado el examen: #{respuestasCorrectas}/#{iterador}"
       end
   end
   mensaje
end
to_s() click to toggle source

Método que devuelve una cadena con las preguntas ordenadas de menor a mayor.

# File exam/interfaz.rb, line 38
def to_s
    cadena=""
    preguntas = @examen.preguntas.sort{|p1,p2| p1<=>p2}
    for i in preguntas do
        cadena +=i.to_s
    end
    cadena
end