>> Tecnologia elettronica >  >> Casa intelligente >> Vita smart

Come usare Visual Basic per creare un test a scelta multipla

Ogni domanda di un test a scelta multipla consiste della domanda e diverse risposte, una sola corretta. Puoi crearne uno in Visual Basic usando etichette per le domande, pulsanti radio per le risposte e controlli pulsante per navigare tra domande. Nel codice, usa array per salvare domande e risposte inviate dall'utente e una variabile contatore per tracciare la domanda corrente. Alla fine, valuta le risposte e mostra il risultato.

Passo 1

Apri nuovo progetto Visual Basic. Aggiungi due etichette, tre pulsanti radio e due pulsanti al form. Trascina etichette in alto con Label1 sopra Label2. Allinea RadioButton1, 2, 3 verticalmente sotto le etichette. Trascina i due pulsanti sotto i radio con Button1 sinistra, Button2 destra.

Passo 2

Premi "F7" per aprire finestra codice. Digita a livello di classe:

Dim questions(2, 4) As String
Dim answers(2) As String
Dim quesNum As Integer

Prima riga: array bidimensionale. Prima dimensione: ogni domanda. Seconda: domanda, 3 risposte, risposta corretta. Seconda riga: array per risposte utente. Terza: contatore per domanda corrente.

Passo 3

Digita:

Private Sub GetQuestions()
questions = New String(,) {{"Quanti colori in un arcobaleno?", "5", "6", "7", "7"},
{"Chi ha recitato in Pirati dei Caraibi?", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp"},
{"Qual è la capitale della Florida?", "Miami", "Tallahassee", "Jacksonville", "Tallahassee"}}
End Sub

Inizializza 3 domande e risposte nell'array. Puoi aggiungere domande o leggerle da file, ma ricorda di ridimensionare gli array.

Passo 4

Digita:

Private Sub MarkTest()
Dim grade As Integer = 0
For i = 0 To 2
If answers(i) = questions(i, 4) Then grade += 1
End If
Next
Label1.Text = "Test finito!"
Label2.Text = "Hai totalizzato " & grade & " su " & answers.Length & "!"
RadioButton1.Enabled = False
RadioButton2.Enabled = False
RadioButton3.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
End Sub

Dichiara subroutine che valuta il test. Crea variabile locale per punteggio, cicla tra risposte corrette e utente. Per ogni match, grade +1. Mostra punteggio nelle etichette e disabilita controlli.

Passo 5

Apri Form1_Load() e digita:

Me.Text = "Il mio quiz a scelta multipla!"
GetQuestions()
quesNum = 1
Label1.Text = "Domanda " & quesNum & " di " & answers.Length
Label2.Text = questions(0, 0)
Button1.Text = "Precedente"
Button2.Text = "Successivo"
RadioButton1.Text = questions(0, 1)
RadioButton2.Text = questions(0, 2)
RadioButton3.Text = questions(0, 3)

Imposta titolo. Chiama GetQuestions(). Inizializza contatore. Mostra numero domanda. Mostra domanda 1. Cambia testo pulsanti. Inserisce 3 risposte come testo radio button.

Passo 6

Apri Button1_Click() e digita:

If quesNum > 1 Then
quesNum -= 1
Label1.Text = "Domanda " & quesNum & " di 3"
Label2.Text = questions(quesNum - 1, 0)
RadioButton1.Text = questions(quesNum - 1, 1)
RadioButton2.Text = questions(quesNum - 1, 2)
RadioButton3.Text = questions(quesNum - 1, 3)
If Button2.Text = "Invia" Then Button2.Text = "Successivo"
End If
End If

Codice pulsante "Precedente". Controlla se non è già alla prima domanda. Decrementa contatore, aggiorna etichette e radio button. Se era all'ultima, cambia Button2 da "Invia" a "Successivo".

Passo 7

Apri Button2_Click() e digita:

If RadioButton1.Checked = True Then answers(quesNum - 1) = RadioButton1.Text
ElseIf RadioButton2.Checked = True Then answers(quesNum - 1) = RadioButton2.Text
ElseIf RadioButton3.Checked = True Then answers(quesNum - 1) = RadioButton3.Text
End If
RadioButton1.Focus()
If quesNum < 3 Then
quesNum += 1
Label1.Text = "Domanda " & quesNum & " di " & answers.Length
Label2.Text = questions(quesNum - 1, 0)
RadioButton1.Text = questions(quesNum - 1, 1)
RadioButton2.Text = questions(quesNum - 1, 2)
RadioButton3.Text = questions(quesNum - 1, 3)
If quesNum = 3 Then Button2.Text = "Invia"
End If
Else
MarkTest()
End If

Codice pulsante "Successivo". Prime 7 righe: controlla quale radio selezionato, salva in array risposte. Focus su RadioButton1. Controlla se non è ultima domanda. Se vero: incrementa contatore, aggiorna etichette e radio per prossima domanda. Se ora è ultima, cambia "Successivo" in "Invia". Se già all'ultima e clicca "Invia", chiama MarkTest() per punteggio.

Passo 8

Salva il programma Visual Basic. Premi "F5" per eseguirlo.

  1. Come usare pagamenti multipli su Amazon
  2. Come creare un gradiente di testo con InDesign
  3. Come Usare il Testo a Capo in Excel
  4. Come creare un opuscolo in Publisher
  5. Come Creare una Maschera di Input in MS Access: Guida Passo-Passo per Dati Puliti e User-Friendly
  6. Come usare Monarch Pro