1. камеры
  2. Аудио & Электроника автомобиля
  3. Главная Аудио
  4. Личная Аудио
  5. телевизоры
  6. Умный дом
  >> Россия Электронный Технологии >  >> Умный дом >> Умная жизнь

Как использовать Visual Basic для создания теста с множественным выбором

Каждый вопрос в тесте с множественным выбором состоит из самого вопроса и нескольких разных ответов, только один из которых правильный. Вы можете создать тест с множественным выбором в Visual Basic, используя метки для отображения вопросов, переключатели для возможных ответов и элементы управления кнопками для перехода между различными вопросами. В коде используйте массивы для сохранения вопросов и ответов, которые отправляет пользователь, и сохраняйте переменную счетчика, чтобы отслеживать, над каким вопросом находится пользователь. По окончании теста отметьте ответы пользователя и отобразите результат в форме.

Шаг 1

Откройте новый проект Visual Basic. Добавьте на форму две метки, три переключателя и две кнопки управления. Перетащите две метки наверх с Label1 поверх Label2. Перетащите RadioButton1, RadioButton2 и RadioButton3, чтобы выровнять их по вертикали под метками. Перетащите две кнопки под переключателями с Button1 слева и Button2 справа.

Шаг 2

Нажмите «F7», чтобы открыть окно кода. Введите следующий код на уровне класса:

Dim questions(2, 4) As String Dim ответы(2) As String Dim quesNum As Integer

Первая строка создает двумерный массив. Первое измерение предназначено для каждого вопроса, а второе измерение — для самого вопроса, трех вариантов ответа и правильного ответа. Вторая строка создает массив для хранения ответов пользователя. Третья строка создает переменную-счетчик, которая отслеживает вопрос, заданный пользователем.

Шаг 3

Введите следующий код:

Private Sub GetQuestions() questions =New String(,) {{"Сколько цветов в радуге?", "5", "6", "7", "7"}, {"Кто снялся в Пираты Карибского моря?", "Джонни Депп", "Джон Малкович", "Джон Кьюсак", "Джонни Депп"}, {"Какая столица Флориды?", "Майами", "Таллахасси", "Джексонвилл", "Таллахасси"}} End Sub

Эта подпрограмма просто инициализирует три вопроса и ответы в массиве вопросов. Вы можете добавить дополнительные вопросы или получить их другими способами, например через текстовый файл, но если вы это сделаете, не забудьте изменить размер массивов вопросов и ответов, чтобы разместить количество вопросов.

Шаг 4

Введите следующий код:

Private Sub MarkTest() Затемнение оценки As Integer =0 For i =0 to 2 Если ответы (i) =вопросы (i, 4), то оценка +=1 End If Next Label1.Text ="Тест завершен!" Label2.Text ="Вы набрали " &оценку &" из " &ответов. Длина &"!" RadioButton1.Enabled =False RadioButton2.Enabled =False RadioButton3.Enabled =False Button1.Enabled =False Button2.Enabled =False End Sub

Первая строка объявляет подпрограмму, которая отмечает тест. Он создает локальную переменную для подсчета очков, затем циклически перебирает ответы в массиве вопросов и ответы, отправленные пользователем. За каждый совпадающий ответ оценка повышается на единицу. Затем он отображает счет в метках и отключает остальные элементы управления.

Шаг 5

Откройте подпрограмму Form1_Load() и введите следующий код:

Me.Text ="Моя викторина с множественным выбором!" GetQuestions() quesNum =1 Label1.Text ="Вопрос" &quesNum &" of " &answer.Length Label2.Text =вопросы (0, 0) Button1.Text ="Предыдущий" Button2.Text ="Следующий" RadioButton1.Text =вопросы (0, 1) RadioButton2.Text =вопросы (0, 2) RadioButton3.Text =вопросы (0, 3)

Первая строка устанавливает заголовок в строке заголовка. Следующая строка вызывает подпрограмму GetQuestions(). Третья строка инициализирует переменную счетчика вопросов. Четвертая строка показывает, под каким номером вопроса находится пользователь. Пятая строка отображает вопрос номер один в метке. Шестая и седьмая строки меняют текст для двух кнопок. Последние три строки вставляют три ответа с несколькими вариантами ответов в виде текста для трех переключателей.

Шаг 6

Откройте подпрограмму Button1_Click() и введите следующий код:

Если quesNum> 1, то quesNum -=1 Label1.Text ="Вопрос" &quesNum &"из 3" Label2.Text =вопросы (quesNum - 1, 0) RadioButton1.Text =вопросы (quesNum - 1, 1) RadioButton2.Text =вопросы(quesNum - 1, 2) RadioButton3.Text =вопросы(quesNum - 1, 3) If Button2.Text ="Отправить" Then Button2.Text ="Далее" End If End If

Это код кнопки «Назад». Сначала он проверяет, нажал ли пользователь кнопку, уже отвечая на первый вопрос. Если нет, он уменьшает счетчик вопросов на единицу и обновляет текст для меток и переключателей, чтобы показать предыдущий вопрос. Если пользователь ответил на последний вопрос, текст на кнопке Button2 изменится с "Отправить" на "Далее".

Шаг 7

Откройте подпрограмму Button2_Click() и введите следующий код:

Если RadioButton1.Checked =Истина, то ответы(quesNum - 1) =RadioButton1.Text ElseIf RadioButton2.Checked =True, тогда ответы (quesNum - 1) =RadioButton2.Text ElseIf RadioButton3.Checked =True, тогда ответы (quesNum - 1) =RadioButton3. Конец текста Если RadioButton1.Focus() Если quesNum <3 Тогда quesNum +=1 Label1.Text ="Вопрос" &quesNum &" из " &ответы. Длина Label2.Text =вопросы (quesNum - 1, 0) RadioButton1.Text =вопросы(quesNum - 1, 1) RadioButton2.Text =вопросы(quesNum - 1, 2) RadioButton3.Text =вопросы(quesNum - 1, 3) Если quesNum =3 Тогда Button2.Text ="Отправить" End If Else MarkTest() Конец, если

Это код кнопки «Далее». Первые семь строк проверяют, какую радиокнопку выбрал пользователь, а затем сохраняют этот ответ в массиве ответов. Следующая строка фокусирует выбор радиокнопки на RadioButton1. Следующая строка проверяет, что пользователь не отвечает на последний вопрос. Если это так, он увеличивает счетчик вопросов на единицу и обновляет метки и переключатели, чтобы показать следующий вопрос. Затем он проверяет, находится ли пользователь на последнем вопросе. Если это так, он меняет текст кнопки «Далее» с «Далее» на «Отправить». Если пользователь уже ответил на последний вопрос и нажал «Отправить», программа вызывает функцию «MarkTest», чтобы получить оценку пользователя.

Шаг 8

Сохраните программу Visual Basic. Нажмите "F5", чтобы запустить его.


  1. Как использовать множественные платежи на Amazon
  2. Как создать градиент текста в InDesign
  3. Как использовать перенос текста в Excel
  4. Как создать буклет в Publisher
  5. Как пользоваться Monarch Pro