Class: Interfaz

Inherits:
Object
  • Object
show all
Defined in:
lib/exam/interfaz.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(examen) ⇒ Interfaz

Inicialización del atributo examen.



7
8
9
10
# File 'lib/exam/interfaz.rb', line 7

def initialize(examen)
   @examen = examen 
    
end

Instance Attribute Details

#examenObject (readonly)

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



5
6
7
# File 'lib/exam/interfaz.rb', line 5

def examen
  @examen
end

Instance Method Details

#compararRespuestas(respuestasUsuario) ⇒ Object

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.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/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_sObject

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



38
39
40
41
42
43
44
45
# File 'lib/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