1) Rewrite the GPA program using the CASE statement for each of the grades. The
ID: 3587626 • Letter: 1
Question
1) Rewrite the GPA program using the CASE statement for each of the grades. The output should look the same.
Public Class Form1
Private Sub calculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles calculate.Click
'grade1
If g1.Text = "A" Then
txtg1.Text = 4
ElseIf g1.Text = "B" Then
txtg1.Text = 3
ElseIf g1.Text = "C" Then
txtg1.Text = 2
ElseIf g1.Text = "D" Then
txtg1.Text = 1
ElseIf g1.Text = "F" Then
txtg1.Text = 0
Else
MsgBox("Enter Appropriate grade")
End If
'grade2
If g2.Text = "A" Then
txtg2.Text = 4
ElseIf g2.Text = "B" Then
txtg2.Text = 3
ElseIf g2.Text = "C" Then
txtg2.Text = 2
ElseIf g2.Text = "D" Then
txtg2.Text = 1
ElseIf g2.Text = "F" Then
txtg2.Text = 0
Else
MsgBox("Enter Appropriate grade")
End If
'grade3
If g3.Text = "A" Then
txtg3.Text = 4
ElseIf g3.Text = "B" Then
txtg3.Text = 3
ElseIf g3.Text = "C" Then
txtg3.Text = 2
ElseIf g3.Text = "D" Then
txtg3.Text = 1
ElseIf g3.Text = "F" Then
txtg3.Text = 0
Else
MsgBox("Enter Appropriate grade")
End If
'grade4
If g4.Text = "A" Then
txtg4.Text = 4
ElseIf g4.Text = "B" Then
txtg4.Text = 3
ElseIf g4.Text = "C" Then
txtg4.Text = 2
ElseIf g4.Text = "D" Then
txtg4.Text = 1
ElseIf g4.Text = "F" Then
txtg4.Text = 0
Else
MsgBox("Enter Appropriate grade")
End If
'grade5
If g5.Text = "A" Then
txtg5.Text = 4
ElseIf g5.Text = "B" Then
txtg5.Text = 3
ElseIf g5.Text = "C" Then
txtg5.Text = 2
ElseIf g5.Text = "D" Then
txtg5.Text = 1
ElseIf g5.Text = "F" Then
txtg5.Text = 0
Else
MsgBox("Enter Appropriate grade")
End If
'values
txtp1.Text = Val(c1.Text) * Val(txtg1.Text)
txtp2.Text = Val(c2.Text) * Val(txtg2.Text)
txtp3.Text = Val(c3.Text) * Val(txtg3.Text)
txtp4.Text = Val(c4.Text) * Val(txtg4.Text)
txtp5.Text = Val(c5.Text) * Val(txtg5.Text)
'totals and grade
txttotchours.Text = Val(c1.Text) + Val(c2.Text) + Val(c3.Text) + Val(c4.Text) + Val(c5.Text)
txttotgradepoints.Text = Val(txtg1.Text) + Val(txtg2.Text) + Val(txtg3.Text) + Val(txtg4.Text) + Val(txtg5.Text)
totqualitypoints.Text = Val(txtp1.Text) + Val(txtp2.Text) + Val(txtp3.Text) + Val(txtp4.Text) + Val(txtp5.Text)
txtgpa.Text = Val(totqualitypoints.Text) / Val(txttotchours.Text)
End Sub
End Class
Explanation / Answer
Hi,
Please replace all the "if..else" statements with below code-
'grade1
Select Case g1.Text
Case "A"
txtg1.Text = 4
Case "B"
txtg1.Text = 3
Case "C"
txtg1.Text = 2
Case "D"
txtg1.Text = 1
Case "F"
txtg1.Text = 0
Case Else
MsgBox("Enter Appropriate grade")
End Select
'grade2
Select Case g2.Text
Case "A"
txtg2.Text = 4
Case "B"
txtg2.Text = 3
Case "C"
txtg2.Text = 2
Case "D"
txtg2.Text = 1
Case "F"
txtg2.Text = 0
Case Else
MsgBox("Enter Appropriate grade")
End Select
'grade3
Select Case g3.Text
Case "A"
txtg3.Text = 4
Case "B"
txtg3.Text = 3
Case "C"
txtg3.Text = 2
Case "D"
txtg3.Text = 1
Case "F"
txtg3.Text = 0
Case Else
MsgBox("Enter Appropriate grade")
End Select
'grade4
Select Case g4.Text
Case "A"
txtg4.Text = 4
Case "B"
txtg4.Text = 3
Case "C"
txtg4.Text = 2
Case "D"
txtg4.Text = 1
Case "F"
txtg4.Text = 0
Case Else
MsgBox("Enter Appropriate grade")
End Select
'grade5
Select Case g5.Text
Case "A"
txtg5.Text = 4
Case "B"
txtg5.Text = 3
Case "C"
txtg5.Text = 2
Case "D"
txtg5.Text = 1
Case "F"
txtg5.Text = 0
Case Else
MsgBox("Enter Appropriate grade")
End Select
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.