The local Registry of Motor Vehicles office has asked you to create an application that grades the written portion of the driver's license exam. The exam has 20 multiple choice questions.Here are the correct answers to the questions.
1. B 6. A 11.B 16. C
2. D 7. B 12.C 17. C
3. A 8. A 13.D 18. B
4. A 9. C 14.A 19. D
5. C 10.D 15.D 20. A
Your application should store the correct answers in an array. A form should allow users to enter the answers to each question.When the user clicks the Score Exam button, the application should display another form showing whether each question was answered \correctly or incorrectly, and whether the student passed of failed the exam. A student must correctly answer 15 of the 20 questions to pass the exam.
Input validation: Only accept the letters A,B,C, or D answers.
Public Class frmAnswers
Private Sub btnScoreExam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScoreExam.Click
Dim strGrades() As String = {"B", "D", "A", "A", "C", "A", "B", "A", "C", "D", "B", "C", "D", "A", "D", "C", "C", "B", "D", "A"}
Dim dtlResult(19) As Boolean
Dim intCorrect As Integer = 0
Dim validInput As Integer = 0
[b]frmResult[/b].lstResult.items.Clear()
Dim intCount As Integer = 0
Dim strInput(19) As String
strInput(0) = txt1.Text
strInput(1) = txt2.Text
strInput(2) = txt3.Text
strInput(3) = txt4.Text
strInput(4) = txt5.Text
strInput(5) = txt6.Text
strInput(6) = txt7.Text
strInput(7) = txt8.Text
strInput(8) = txt9.Text
strInput(9) = txt10.Text
strInput(10) = txt11.Text
strInput(11) = txt12.Text
strInput(12) = txt13.Text
strInput(13) = txt14.Text
strInput(14) = txt15.Text
strInput(15) = txt16.Text
strInput(16) = txt17.Text
strInput(17) = txt18.Text
strInput(18) = txt19.Text
strInput(19) = txt20.Text
Try
For intCount = 0 To (strGrades.Length - 1)
If strInput(intCount).ToUpper() = "A" Or
strInput(intCount).ToUpper() = "B" Or
strInput(intCount).ToUpper() = "C" Or
strInput(intCount).ToUpper() = "D" Then
If strGrades(intCount) = strInput(intCount).ToUpper() Then
intCorrect += 1
dtlResult(intCount) = True
End If
validInput = validInput + 1
End If
Next intCount
Catch ex As Exception
If validInput = 20 Then
Dim frmResult As New [b]frmResult[/b]
frmResult.lstResult.items.clear()
frmResult.lstResult.items.Add("------------------------------------------")
frmResult.lstResult.Items.Add("----------------")
For intCount = 0 To (19)
If (dtlResult(intCount) = True) Then
frmResult.lstResult.Items.Add(intCount + 1 & "Correct" & " Answer: " & strGrades(intCount))
Else
frmResult.lstResult.Items.Add(intCount + 1 & " Wrong" & " Answer:" & strGrades(intCount))
End If
Next intCount
frmResult.lstResult.Items.Add("-----------------")
frmResult.lstResult.items.Add("Total :" & intCorrect & "/20")
If (intCorrect >= 15) Then
frmResult.lstResult.Items.Add("Your Result : " & "PASS")
Else
frmResult.lstResult.Items.Add("Your Result : " & "FAIL")
End If
frmResult.ShowDialog()
Else
MessageBox.Show("Input Should be A, B, C, D", "Input Validation")
End If
End Try
End Sub
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
txt1.Text = String.Empty
txt2.Text = String.Empty
txt3.Text = String.Empty
txt4.Text = String.Empty
txt5.Text = String.Empty
txt6.Text = String.Empty
txt7.Text = String.Empty
txt8.Text = String.Empty
txt9.Text = String.Empty
txt10.Text = String.Empty
txt11.Text = String.Empty
txt12.Text = String.Empty
txt13.Text = String.Empty
txt14.Text = String.Empty
txt15.Text = String.Empty
txt16.Text = String.Empty
txt17.Text = String.Empty
txt18.Text = String.Empty
txt19.Text = String.Empty
txt20.Text = String.Empty
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
End Sub
End Class
IM using visual basics 10

New Topic/Question
Reply



MultiQuote



|