Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Nozioni di base di Visual Programming >> .

Come utilizzare Visual Basic per creare un test a scelta multipla

Ogni domanda in un test a scelta multipla composto da una domanda e diverse risposte diverse , di cui solo una è 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 pulsante per navigare tra le diverse domande. Nel codice , utilizzare le matrici per salvare le domande e le risposte che l'utente invia e mantenere una variabile contatore per tenere traccia di ciò che mette in discussione l'utente è on . Alla fine del test , marchio risposte dell'utente e visualizzare il risultato sul modulo . Istruzioni
1

Aprire un nuovo progetto di Visual Basic . Aggiungere due etichette, tre pulsanti radio e due controlli Button al form. Trascinare le due etichette al top con Label1 sopra Label2 . Trascinare RadioButton1 , RadioButton2 e RadioButton3 per allineare verticalmente sotto le etichette . Trascinare i due pulsanti sotto i pulsanti di opzione con Button1 a sinistra e Button2 a destra.
2

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

domande Dim ( 2 , 4) as String

risposte Dim ( 2) As String Dim

quesNum Come
Integer

La prima riga crea una matrice bidimensionale . La prima dimensione è per ogni domanda e la seconda dimensione è per la domanda stessa , tre opzioni 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 questione l'utente è in
3

digitare il seguente codice : .

Private Sub GetQuestions ()
domande

= new String ( , ) { {" quanti sono i colori in un arcobaleno ? " , " 5 " , " 6 " , " 7 " , "7" } , _

{ "Chi protagonista di 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 risposte nella matrice domande. È possibile aggiungere ulteriori domande o ottenere in altri modi , ad esempio attraverso un file di testo , ma se lo fate , ricordate di cambiare le dimensioni della domanda e risposta array per contenere il numero di domande.
4

Digitare il seguente codice: private Sub

MarkTest ( ) per

grado Dim As Integer = 0

For i = 0 To 2

risposte ( i) = domande ( i, 4) Poi

grado + = 1

End If

Avanti

Label1.Text = "Test finiti! "

Label2.Text =" il tuo punteggio " e grado e " fuori " e answers.Length &" ! "

RadioButton1.Enabled = False

RadioButton2.Enabled = False

RadioButton3.Enabled = False

Button1.Enabled = False

Button2.Enabled = False

End Sub

prima riga dichiara una subroutine che segna il test . Si crea una variabile locale per contare il punteggio, poi i cicli attraverso le risposte dell'array domande e le risposte inviate dall'utente. Per ciascuna risposta che corrisponde , il grado aumenta di uno. Quindi visualizza il punteggio nelle etichette e disabilita il resto dei controlli
5

Aprire il Form1 Load ( ) subroutine e digitare il seguente codice : .

Me.Text = " Il mio quiz a scelta multipla ! "

GetQuestions ()

quesNum = 1

Label1.Text = " domanda " e quesNum &" di " &
answers.Length

Label2.Text = domande ( 0 , 0 ) per

Button1.Text = "Indietro "

Button2.Text = " Avanti "

RadioButton1.Text domande = ( 0 , 1 ) per

RadioButton2.Text = domande ( 0 , 2 ) per

RadioButton3.Text = domande ( 0 , 3 ) per

la prima riga imposta il documento nella barra del titolo . La riga seguente chiama le GetQuestions () subroutine . La terza riga inizializza la variabile contatore domanda . La quarta riga visualizza quello che mettono in discussione il numero che l'utente è attivo. La quinta riga visualizza interrogano uno in etichetta. La sesta e la settima linee cambiano il testo per i due pulsanti . Le ultime tre righe inserire le tre risposte a scelta multipla come testo per i pulsanti tre radiofonici
6

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

QuesNum > 1 Poi

quesNum - = 1

Label1.Text = " domanda " e quesNum & " di 3"

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

RadioButton1.Text = domande ( quesNum - 1 , 1 ) per

RadioButton2.Text = domande ( quesNum - 1 , 2 ) per

RadioButton3.Text = domande ( quesNum - 1 , 3 ) per

Button2.Text = " Invia" Allora

Button2.Text = " Avanti"

End If End If


Questo è il codice per il pulsante " Indietro " . Prima controlla se l'utente preme il pulsante mentre si è al primo quesito . In caso contrario , si decrementa il contatore di domanda per uno e un aggiornamento del testo per le etichette e pulsanti di opzione per visualizzare la domanda precedente . Se l'utente era sulla domanda finale , il testo su Button2 cambia da " Invia" torna a
7

Aprire il Button2_Click ( ) subroutine e digitare il seguente codice "Next ". :

Se RadioButton1.Checked = true allora

risposte ( quesNum - 1 ) = RadioButton1.Text

ElseIf RadioButton2.Checked = true allora

risposte ( quesNum - 1 ) = RadioButton2.Text

ElseIf RadioButton3.Checked = true allora

risposte ( quesNum - 1 ) = RadioButton3.Text

End IF e

RadioButton1.Focus ( ) per

quesNum <3 Poi

quesNum + = 1

Label1.Text = " domanda " e quesNum & " di " &
answers.Length

Label2.Text = domande ( quesNum - 1 , 0 ) per

RadioButton1.Text = domande ( quesNum - 1 , 1 ) per

RadioButton2.Text = domande ( quesNum - 1 , 2 ) per

RadioButton3.Text = domande ( quesNum - 1 , 3 ) per

quesNum = 3 Quindi

Button2.Text = " Invia"

End Se

Else

MarkTest ( ) per

End If

Questo è il codice per il pulsante "Avanti". Le prime sette righe controllano per vedere che il pulsante radio era selezionato l'utente , quindi salva la risposta alla matrice delle risposte. La riga successiva si concentra la selezione del pulsante radio RadioButton1 . La riga successiva verifica che l'utente non si trova sulla domanda finale . Se questo è vero , la questione contatore aumenta di uno e aggiorna le etichette e pulsanti di opzione per visualizzare la domanda successiva . Quindi controlla per vedere se l'utente è ora sulla domanda finale . Se è così , cambia il testo per il pulsante Avanti da " Next" su " Invia". Se l'utente era già sulla domanda finale e cliccato "Invia ", il programma chiama la funzione " MarkTest " per ottenere il punteggio dell'utente .
8

Salva il programma Visual Basic . Premere il tasto " F5 " per eseguirla.

 

Programmazione © www.354353.com