>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

Come utilizzare Visual Basic per creare un test a scelta multipla

Ogni domanda in un test a risposta multipla è composta da una domanda stessa e da diverse risposte diverse, solo una delle quali è corretta. È possibile creare un test a scelta multipla in Visual Basic utilizzando etichette per visualizzare le domande, pulsanti di opzione per le possibili risposte e controlli dei pulsanti per navigare tra le diverse domande. Nel codice, usa le matrici per salvare le domande e le risposte che l'utente invia e mantieni una variabile contatore per tenere traccia di quale domanda si trova l'utente. Al termine del test, segna le risposte dell'utente e visualizza il risultato sul modulo.

Passaggio 1

Aprire un nuovo progetto Visual Basic. Aggiungi due etichette, tre pulsanti di opzione e due pulsanti di controllo al modulo. Trascina le due etichette in alto con Label1 sopra Label2. Trascina RadioButton1, RadioButton2 e RadioButton3 per allinearli verticalmente sotto le etichette. Trascina i due pulsanti sotto i pulsanti di opzione con Button1 a sinistra e Button2 a destra.

Passaggio 2

Premere "F7" per aprire la finestra del codice. Digita il seguente codice a livello di classe:

Domande deboli(2, 4) As String Risposte deboli(2) As String Dim quesNum As Integer

La prima riga crea una matrice bidimensionale. La prima dimensione è per ogni domanda e la seconda dimensione è per la domanda stessa, tre scelte di risposta e la risposta corretta. La seconda riga crea un array per memorizzare le risposte dell'utente. La terza riga crea una variabile contatore che tiene traccia della domanda su cui si trova l'utente.

Passaggio 3

Digita il seguente codice:

Private Sub GetQuestions() question =New String() {{"Quanti colori ci sono 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

Questa subroutine inizializza semplicemente le tre domande e le risposte nella matrice delle domande. Puoi aggiungere ulteriori domande o ottenerle in altri modi, ad esempio tramite un file di testo, ma se lo fai, ricorda di modificare le dimensioni della domanda e degli array di risposte per adattarsi al numero di domande.

Passaggio 4

Digita il seguente codice:

Private Sub MarkTest() Dim voto As Integer =0 For i =0 To 2 If answer(i) =question(i, 4) Then grade +=1 End If Next Label1.Text ="Test terminato!" Label2.Text ="Hai segnato " &voto &" su " &risposte. Lunghezza &"!" RadioButton1.Enabled =False RadioButton2.Enabled =False RadioButton3.Enabled =False Button1.Enabled =False Button2.Enabled =False End Sub

La prima riga dichiara una subroutine che contrassegna il test. Crea una variabile locale per contare il punteggio, quindi scorre le risposte nella matrice delle domande e le risposte inviate dall'utente. Per ogni risposta che corrisponde, il voto aumenta di uno. Quindi mostra il punteggio nelle etichette e disabilita il resto dei controlli.

Passaggio 5

Aprire la subroutine Form1_Load() e digitare il codice seguente:

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

La prima riga imposta il titolo nella barra del titolo. La riga successiva chiama la subroutine GetQuestions(). La terza riga inizializza la variabile del contatore delle domande. La quarta riga mostra il numero di domanda su cui si trova l'utente. La quinta riga mostra la domanda uno nell'etichetta. La sesta e la settima riga cambiano il testo dei due pulsanti. Le ultime tre righe inseriscono le tre risposte a scelta multipla come testo per i tre pulsanti di opzione.

Passaggio 6

Aprire la subroutine Button1_Click() e digitare il codice seguente:

Se quesNum> 1 Allora quesNum -=1 Label1.Text ="Domanda " &quesNum &" di 3" Label2.Text =domande(quesNum - 1, 0) RadioButton1.Text =domande(quesNum - 1, 1) RadioButton2.Text =question(quesNum - 1, 2) RadioButton3.Text =question(quesNum - 1, 3) If Button2.Text ="Submit" Then Button2.Text ="Next" End If End If

Questo è il codice per il pulsante "Precedente". Per prima cosa controlla se l'utente ha premuto il pulsante mentre era già sulla prima domanda. In caso contrario, diminuisce di uno il contatore delle domande e aggiorna il testo delle etichette e dei pulsanti di opzione per mostrare la domanda precedente. Se l'utente era sull'ultima domanda, il testo su Button2 cambia da "Invia" a "Avanti".

Passaggio 7

Apri la subroutine Button2_Click() e digita il codice seguente:

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. Testo End If RadioButton1.Focus() If quesNum <3 Then quesNum +=1 Label1.Text ="Domanda " &quesNum &" di " &answer.Length Label2.Text =question(quesNum - 1, 0) RadioButton1.Text =question(quesNum - 1, 1) RadioButton2.Text =question(quesNum - 1, 2) RadioButton3.Text =question(quesNum - 1, 3) Se quesNum =3 Then Button2.Text ="Submit" End If Else MarkTest() Fine se

Questo è il codice per il pulsante "Avanti". Le prime sette righe controllano il pulsante di opzione selezionato dall'utente, quindi salvano la risposta nell'array di risposte. La riga successiva concentra la selezione del pulsante di opzione su RadioButton1. La riga successiva controlla che l'utente non sia sulla domanda finale. Se questo è vero, aumenta di uno il contatore delle domande e aggiorna le etichette e i pulsanti di opzione per mostrare la domanda successiva. Quindi verifica se l'utente è ora sulla domanda finale. In tal caso, cambia il testo del pulsante Avanti da "Avanti" a "Invia". Se l'utente era già sulla domanda finale e ha fatto clic su "Invia", il programma chiama la funzione "MarkTest" per ottenere il punteggio dell'utente.

Passaggio 8

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


  1. Come utilizzare più pagamenti su Amazon
  2. Come creare un gradiente di testo con InDesign
  3. Come utilizzare l'a capo automatico in Excel
  4. Come creare un opuscolo in Publisher
  5. Come creare un modulo di input in MS Access
  6. Come utilizzare Monarch Pro