fork download
  1. Imports System
  2.  
  3. Public Module Module1
  4. Const QUESTION_TYPE_ADDITION As Integer = 0
  5. Const QUESTION_TYPE_SUBTRACTION As Integer = 1
  6. Const QUESTION_TYPE_MULTIPLICATION As Integer = 2
  7.  
  8. Public Class Teacher
  9. Private RandomGenerator As Random = New Random()
  10. Private Question As String
  11. Private Answer As Integer
  12. Private Score As Integer
  13.  
  14. Public Sub GenerateQuestion()
  15. Dim QuestionType As Integer = RandomGenerator.Next(3)
  16. Dim FirstNumber As Integer = RandomGenerator.Next(1, 31)
  17. Dim SecondNumber As Integer = RandomGenerator.Next(1, 31)
  18.  
  19. Select Case QuestionType
  20. Case QUESTION_TYPE_ADDITION
  21. Question = FirstNumber & " + " & SecondNumber & " = ?"
  22. Answer = FirstNumber + SecondNumber
  23.  
  24. Case QUESTION_TYPE_SUBTRACTION
  25. Question = FirstNumber & " - " & SecondNumber & " = ?"
  26. Answer = FirstNumber - SecondNumber
  27.  
  28. Case QUESTION_TYPE_MULTIPLICATION
  29. ' Make the sums easier because they're multiplication
  30. FirstNumber = RandomGenerator.Next(1, 10)
  31. SecondNumber = RandomGenerator.Next(1, 10)
  32.  
  33. Question = FirstNumber & " x " & SecondNumber & " = ?"
  34. Answer = FirstNumber * SecondNumber
  35.  
  36. Case Else
  37. Console.WriteLine("Something went wrong. ;-;")
  38. End Select
  39. End Sub
  40.  
  41. Public Sub AskQuestion()
  42. Console.Clear()
  43. Console.WriteLine(Question)
  44.  
  45. Dim Entry As Integer = Console.Read()
  46. If Entry = Answer Then
  47. Console.WriteLine("Correct!")
  48. Score += 1
  49. Else
  50. Score -= 1
  51. End If
  52. End Sub
  53.  
  54. Public Function GetScore() As Integer
  55. Return Score
  56. End Function
  57. End Class
  58.  
  59. Public Sub Main()
  60. Dim teacher As Teacher = New Teacher()
  61. Dim index As Integer = 1
  62.  
  63. While index <> 10
  64. teacher.GenerateQuestion()
  65. teacher.AskQuestion()
  66.  
  67. index += 1
  68. End While
  69.  
  70. Console.WriteLine("Your score is " & teacher.GetScore())
  71. End Sub
  72. End Module
  73.  
Success #stdin #stdout 0.04s 24200KB
stdin
10
stdout
11 - 10 = ?
30 - 30 = ?
7 x 8 = ?
28 + 27 = ?
3 x 5 = ?
13 + 7 = ?
20 - 29 = ?
25 + 11 = ?
26 + 9 = ?
Your score is -9