您好我真的需要一些帮助,我需要制作一个多选问题程序,从2个不同的文本文件(记事本文件)中读取问题和答案 但是当我尝试时,我似乎无法让它工作。我已经尝试过循环但是没有用,然后我尝试了数组,但是不符合阅读形式文本文件的要求
所以我来找你所有我需要帮助的是通过读取文本文件行然后在需要提出新问题时更新它
我不能逐行阅读(questions.txt),我需要匹配answers.txt中的问题然后我需要在点击下一个问题时更新它
VB.Net
我需要创建的程序必须执行以下操作
- 每次执行程序时,问题也应按随机顺序出现
下一个问题的更新表格
- 跟踪有多少问题是正确的
上述任何资源或教程都会非常感激
答案 0 :(得分:1)
总编辑:198305769大声笑。清理答案,这应该让你几乎完成。欢呼声。
声明一个全局变量(整数);您可以在此处分配用户已回答的问题数量:
Public Class Form1
Dim keepScore As Integer = 0
不是最新的,但它会将选定文本文件中的每一行附加到数组中,然后您可以遍历它。
Dim ofd As New OpenFileDialog
ofd.ShowDialog()
Dim xstr = ofd.FileName
Dim questions() As String = IO.File.ReadAllLines(ofd.FileName)
Dim answers() As String = IO.File.ReadAllLines(ofd.FileName)
Dim sw As New StringBuilder
Dim i As Integer = 0
Do Until i = questions.Count()
sw.AppendLine(Trim(questions(i)))
MsgBox(questions(i)) 'Only added this so you can see the lines
i = i + 1
Loop
Do Until i = answers.Count()
sw.AppendLine(Trim(answers(i)))
MsgBox(answers(i)) 'Only added this so you can see the lines
i = i + 1
Loop
在此函数的末尾添加一个if语句:
If CorrectAnswer.Checked = True 'Assuming you are using a RadioButton Group, or CheckBox
keepScore = keepScore + 1
End If
这是一个快速数字随机数,假设您有20个问题(相应地根据您提出的任何问题更改20个):
Randomize()
Dim i As Integer = CInt(Int(20 * Rnd() + 1))
MsgBox(i)
祝你好运。