Visual Basic中的测验程序

时间:2012-08-07 08:08:20

标签: arrays visual-studio random

对于这次干扰感到抱歉,但你能解决我的问题吗?

我是视觉基础编程的新手,一切都很好,直到我们的主题转移到数组。我试图用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个随机答案也会得到正确答案? (因为我只是随机化答案,并不断重复一些选择)

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

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