Tecnología

Inicio

Cómo usar Visual Basic para crear una prueba de opción múltiple

Cada pregunta en una prueba de selección múltiple consiste en una pregunta en sí misma y varias respuestas diferentes, las cuales sólo una es correcta. Puede crear una prueba de elección múltiple en Visual Basic utilizando etiquetas para mostrar las preguntas, botones de radio para las posibles respuestas y botones de control para navegar entre las diferentes preguntas. En el código, las matrices utilizar para guardar las preguntas y respuestas que el usuario envía y mantener una variable de contador para realizar un seguimiento de lo que pregunta el usuario está conectado. Al final de la prueba, marcar las respuestas del usuario y mostrar el resultado en el formulario.

Instrucciones

1 Abra un nuevo proyecto de Visual Basic. Añadir dos etiquetas, tres botones de radio y dos controles de botón al formulario. Arrastre las dos etiquetas en la parte superior con Label1 en la parte superior de Label2. Arrastre RadioButton1, RadioButton2 y RadioButton3 para alinear verticalmente debajo de las etiquetas. Arrastre los dos botones debajo de los botones de radio con Button1 a la izquierda y Button2 a la derecha.

2 Pulse la tecla "F7" para abrir la ventana de código. Escriba el siguiente código a nivel de clase:

preguntas Dim (2, 4) como secuencia

Dim respuestas (2) como secuencia

Dim quesNum como número entero

La primera línea crea una matriz de dos dimensiones. La primera dimensión es para cada pregunta y la segunda dimensión es la pregunta en sí misma, tres opciones de respuesta y la respuesta correcta. La segunda línea crea una matriz para almacenar las respuestas del usuario. La tercera línea crea una variable de contador que realiza un seguimiento de la cuestión está en que el usuario.

3 Escriba el siguiente código:

GetQuestions Private Sub ()

preguntas = nueva cadena (,) {{ "¿Cuántos colores se encuentran en un arco iris?", "5", "6", "7", "7"}, _

{ "Protagonista de Piratas del Caribe?", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp"}, _

{ "¿Cuál es la capital de Florida?", "Miami", "Tallahassee", "Jacksonville", "Tallahassee"}}

End Sub

Esta subrutina simplemente inicializa las tres preguntas y respuestas de la matriz de preguntas. Puede añadir preguntas adicionales o conseguir de otras maneras, como por ejemplo a través de un archivo de texto, pero si lo hace, recuerde que debe cambiar el tamaño de la pregunta y la respuesta arreglos para acomodar el número de preguntas.

4 Escriba el siguiente código:

Private Sub Marktest ()

grado Dim As Integer = 0

Para i = 0 a 2

Si las respuestas (i) = preguntas (i, 4) A continuación,

grado + 1 =

Terminara si

Siguiente

Label1.Text = "Test terminado!"

Label2.Text = "Usted anotó" & grado y "fuera de" y answers.Length & "!"

RadioButton1.Enabled = False

RadioButton2.Enabled = False

RadioButton3.Enabled = False

Button1.Enabled = False

Button2.Enabled = False

End Sub

La primera línea declara una subrutina que marca la prueba. Se crea una variable local para contabilizar el marcador, luego gira a través de las respuestas de la matriz de preguntas y las respuestas presentadas por el usuario. Para cada respuesta que coincide, el grado sube por uno. A continuación, muestra la puntuación en las etiquetas y desactiva el resto de los controles.

5 Abra la subrutina Form1_Load () y escriba el código siguiente:

Me.Text = "Mi Multiple Choice Quiz!"

GetQuestions ()

quesNum = 1

Label1.Text = "Pregunta" y quesNum & "de" & answers.Length

Label2.Text = preguntas (0, 0)

Button1.Text = "anterior"

Button2.Text = "Siguiente"

RadioButton1.Text = preguntas (0, 1)

RadioButton2.Text = preguntas (0, 2)

RadioButton3.Text = preguntas (0, 3)

La primera línea define el título en la barra de título. La siguiente línea llama a los GetQuestions () subrutina. La tercera línea inicializa la variable contador cuestión. La cuarta línea muestra qué número de la pregunta que el usuario está conectado. La quinta línea indica cuestionan la una de la etiqueta. Las líneas sexta y séptima cambian el texto de los dos botones. Las tres últimas líneas insertan las tres respuestas de opción múltiple como texto para los tres botones de radio.

6 Abra la subrutina Button1_Click () y escriba el código siguiente:

Si quesNum> 1 Entonces

quesNum - = 1

Label1.Text = "Pregunta" y quesNum y "3"

Label2.Text = preguntas (quesNum - 1, 0)

RadioButton1.Text = preguntas (quesNum - 1, 1)

RadioButton2.Text = preguntas (quesNum - 1, 2)

RadioButton3.Text = preguntas (quesNum - 1, 3)

Si Button2.Text = "Enviar" A continuación,

Button2.Text = "Siguiente"

Terminara si

Terminara si

Este es el código para el botón "Anterior". Primero comprueba para ver si el usuario pulsa el botón mientras que ya en la primera pregunta. Si no, se disminuye el contador pregunta por uno y actualiza el texto de las etiquetas y los botones de selección para mostrar la pregunta anterior. Si el usuario estaba en la pregunta final, el texto en Button2 cambia de "Enviar" de nuevo a "Siguiente".

7 Abra la subrutina Button2_Click () y escriba el código siguiente:

Si RadioButton1.Checked = true A continuación,

respuestas (quesNum - 1) = RadioButton1.Text

ElseIf RadioButton2.Checked = true A continuación,

respuestas (quesNum - 1) = RadioButton2.Text

ElseIf RadioButton3.Checked = true A continuación,

respuestas (quesNum - 1) = RadioButton3.Text

Terminara si

RadioButton1.Focus ()

Si quesNum <3 A continuación,

quesNum + = 1

Label1.Text = "Pregunta" y quesNum & "de" & answers.Length

Label2.Text = preguntas (quesNum - 1, 0)

RadioButton1.Text = preguntas (quesNum - 1, 1)

RadioButton2.Text = preguntas (quesNum - 1, 2)

RadioButton3.Text = preguntas (quesNum - 1, 3)

Si quesNum = 3 A continuación,

Button2.Text = "Enviar"

Terminara si

Más

Marktest ()

Terminara si

Este es el código para el botón "Siguiente". Las primeras siete líneas de verificación para ver lo que había seleccionado el botón de radio al usuario, a continuación, guarda la respuesta a la matriz de respuestas. La siguiente línea se centra la selección del botón de radio en RadioButton1. La siguiente línea comprueba que el usuario no está en la pregunta final. Si esto es cierto, se incrementa el contador pregunta por uno y actualiza las etiquetas y los botones de selección para mostrar la siguiente pregunta. A continuación, comprueba para ver si el usuario se encuentra ahora en la pregunta final. Si es así, cambia el texto para el botón Siguiente en "Siguiente" para "Enviar". Si el usuario ya estaba en la última pregunta y hacer clic en "Enviar", el programa llama a la función "Marktest" para obtener la puntuación del usuario.

8 Guarde el programa de Visual Basic. Pulse la tecla "F5" para ejecutarlo.