May 27
Fare un quiz in Visual Basic utilizzando un ciclo For Next per richiedere concorrente del quiz con una domanda, confrontare la sua risposta con quella corretta, e registrare il suo punteggio in corso. È possibile fare una tale quiz con solo una interfaccia utente barebone che impiega le funzioni InputBox e MsgBox per comunicare con il concorrente quiz. Per una presentazione più attraente, la progettazione di un modulo con "Form Designer" di Visual Basic ei controlli nella sua tavolozza "Tool box", come ad esempio il "Button" e controlli "casella".
1 Aprire la finestra di programmazione VB e scrivere istruzioni assegnando il testo di ciascuna delle domande del quiz a un elemento di un array di stringhe. Ad esempio, è possibile scrivere queste dichiarazioni:
Domande (0) = "Chi era l'ultimo nome del primo presidente degli Stati Uniti?"
domande (1) = "Qual è il prodotto di 3 e 17?"
2 Scrivi dichiarazioni assegnando il testo di ogni risposta agli elementi di un altro array di stringhe. Per le domande di cui al punto uno, si può scrivere queste dichiarazioni:
answers(0) = "Washington"
answers(1) = "51"
3 Scrivere un ciclo per la prossima che visualizza le domande e richiede all'utente per le risposte. Ad esempio, è possibile scrivere il seguente ciclo For Next.
Per i = 0 Per UBound (domande)
userAnswer = InputBox (domande (i))
Next i
4 Scrivi dichiarazioni che mettono a confronto la risposta dell'utente con la risposta corretta. Ad esempio, è possibile scrivere il bilancio al termine di questa fase. Queste dichiarazioni confrontano risposta dell'utente alla risposta vera, quindi traccia il punteggio del giocatore, aumentando il valore delle variabili "corretto" e "non corretti".
Se userAnswer <> risposte (i) Poi
MsgBox("Incorrect. The correct answer is " & answers(i))
nIncorrect += 1
Else
MsgBox("Correct!")
nCorrect += 1
End If
5 Scrivi istruzioni Dim dichiarano tutte le variabili utilizzate nel programma. Ad esempio, è possibile scrivere queste istruzioni Dim:
Dim questions(1) As String
Dim answers(1) As String
Dim userAnswer As String
Dim nIncorrect As Integer
Dim nCorrect As Integer
Dim i As Integer
6 Eseguire il programma premendo il tasto "F5". Ecco il programma completo per la vostra convenienza.
Private Sub Form1_Load (mittente di ByVal come System.Object, ByVal e come System.EventArgs) tratta MyBase.Load
Dim questions(1) As String
Dim answers(1) As String
Dim userAnswer As String
Dim nIncorrect As Integer
Dim nCorrect As Integer
Dim i As Integer
questions(0) = "Who was the last name of the first US President?"
questions(1) = "What is the product of 3 and 17?"
answers(0) = "Washington"
answers(1) = "51"
For i = 0 To UBound(questions)
userAnswer = InputBox(questions(i))
If userAnswer <> answers(i) Then
MsgBox("Incorrect. The correct answer is " & answers(i))
nIncorrect += 1
Else
MsgBox("Correct!")
nCorrect += 1
End If
Next i
MsgBox("Your score is " & nCorrect & " correct out of " & UBound(questions) + 1 & " questions.")
End Sub