2012-08-07 67 views
0

对不起,但你能帮我解决我的问题吗?Visual Basic的测验程序

我是新的视觉基本编程和一切都很好,直到我们的主题转移到数组。我试图了解它是使用Java的代码。 (例如:方法被称为功能..)

我的教授给了我们一个练习来创建一个测验程序,询问用户超过5个问题(在文本框中)的选择(按钮),并计算得分最后(都只是一种形式)。如果用户点击一个按钮,它会告诉它是对还是错,然后继续改变问题以及选择。

*必填项: - 用户完成测验后,得分将会显示出来,并且应该有一个重新启动按钮,并且所有的问题都会被随机再次询问没有模式。 - 尝试制作功能。

我试着从昨天开始在网上搜索,我的代码仍然没有进展。

Public Class Form1 
Dim questions(5) As String 
Dim answers(5) As String 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    'Method/Function for loading the Q&A 
    loadQsAndAs() 
End Sub 

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 
    Me.Close() 
End Sub 

Private Sub loadQsAndAs() 
    'Questions 
    questions(0) = "What is 1 + 1?" 
    questions(1) = "Who is the first man to walk on the Moon?" 
    questions(2) = "What is the name of the main character in the movie: Yes Man!(2007)" 
    questions(3) = "If I gave you three apples and you ate two, how many is left?" 
    questions(4) = "What do you want in your final grade?" 
    questions(5) = "What is the name of the thing(s) that you use whenever you eat?" 
    'Answers 
    answers(0) = "2" 
    answers(1) = "Neil Armstrong" 
    answers(2) = "Jim Carrey" 
    answers(3) = "1" 
    answers(4) = "A 4.0" 
    answers(5) = "A Spoon and Fork" 

    TextBox1.Text = setTheQuestion() 
    Button1.Text = setTheAnswer1() 
    Button2.Text = setTheAnswer2() 
    Button3.Text = setTheAnswer3() 
    Button4.Text = setTheAnswer4() 

End Sub 

Private Function setTheQuestion() As String 
    Dim randomValue As New Random 
    Dim randomQ As String = "" 
    Dim i As Integer 
    Dim index As Integer 

    For i = 0 To 0 
     index = randomValue.Next(0, questions.Length) 
     randomQ &= questions(index) 
    Next 
    Return randomQ 
End Function 

Private Function setTheAnswer1() As String 
    Dim randomValue As New Random 
    Dim randomAns As String = "" 
    Dim i As Integer 
    Dim index As Integer 

    For i = 0 To 0 
     index = randomValue.Next(0, answers.Length) 
     randomAns &= answers(index) 
    Next 

    Return randomAns 
End Function 

Private Function setTheAnswer2() As String 
    Dim randomValue As New Random 
    Dim randomAns As String = "" 
    Dim i As Integer 
    Dim index As Integer 

    For i = 0 To 0 
     index = randomValue.Next(1, answers.Length) 
     randomAns &= answers(index) 
    Next 

    Return randomAns 
End Function 

Private Function setTheAnswer3() As String 
    Dim randomValue As New Random 
    Dim randomAns As String = "" 
    Dim i As Integer 
    Dim index As Integer 

    For i = 0 To 0 
     index = randomValue.Next(2, answers.Length) 
     randomAns &= answers(index) 
    Next 

    Return randomAns 
End Function 

Private Function setTheAnswer4() As String 
    Dim randomValue As New Random 
    Dim randomAns As String = "" 
    Dim i As Integer 
    Dim index As Integer 

    For i = 0 To 0 
     index = randomValue.Next(3, answers.Length) 
     randomAns &= answers(index) 
    Next 

    Return randomAns 
End Function 

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click 
    loadQsAndAs() 
End Sub 
    End Class 

我的问题是:

  • 我如何在数组中的问题和我的选择,随机出现,每当用户启动或重启程序?

  • 我该如何编码,随机问题也会有其他3个随机答案的正确答案? (因为我只是随机化的答案,它不断重复一些选择)

任何人都可以帮助我吗?

回答

0

初始化测验时,创建随机数字序列,以指示问题和答案的顺序。

+0

因此,做一个随机整数,然后连接该整数到我的问题和答案?像一个使序列随机的值? – Coolai 2012-08-07 08:21:22

+0

当测验开始时,随机创建一个如4,3,1,2,5,0的序列 - 例如使用List。这表示您的问题显示顺序。然后显示问题4首先,然后显示3,等等。 – podiluska 2012-08-07 08:25:39

+0

“使用列表,例如”您的意思是列表(T)类? – Coolai 2012-08-07 10:48:39