Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Need help figuring out why when i enter an averaged value of 90-100, it gives me

ID: 674370 • Letter: N

Question

Need help figuring out why when i enter an averaged value of 90-100, it gives me an F, obviously I need it to give me an A. Heres my code, hope someone can help me asap! thank guys

Public Class Form1

Private Sub btnEnter_Click(sender As Object, e As EventArgs) Handles btnEnter.Click
Dim Name As String = ""
Dim score As Integer = 0
Dim Score1 As Integer = 0
Dim Score2 As Integer = 0
Dim Score3 As Integer = 0
Dim Average As String = 0
Dim intcount As Integer = 0
Dim Test As Integer = 0
Do Until Test = 3
intcount = 0
' Get Student name
Name = StudentName()
Do Until intcount = 3
'Get and store obtained numbers
If Score1 <= 0 Then
Score1 = ScoreInput(Name, intcount)
ElseIf Score2 <= 0 Then
Score2 = ScoreInput(Name, intcount)
Else
Score3 = ScoreInput(Name, intcount)
End If
intcount += 1
Loop
Average = (Score1 + Score2 + Score3) / 3

Select Case Average
Case 90 To 100 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "A")
Case 80 To 89 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "B")
Case 70 To 79 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "C")
Case 60 To 69 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "D")
Case Else : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "F")
End Select
Score1 = 0
Score2 = 0
Score3 = 0
Test += 1
Loop
End Sub
Private Function StudentName() As String
Dim Result As String = InputBox("Enter student's name:", "Input Needed")
If String.IsNullOrWhiteSpace(Result) Then
StudentName()
End If
Return Result
End Function
Private Function ScoreInput(ByVal name As String, ByVal icount As Integer) As Integer
Dim x As String = "Student name : " & name & vbCrLf & "Enter Score for Subject" & icount + 1
Dim Result As String = InputBox(x, "Input Needed")

If Not IsNumeric(Result) Then
ScoreInput(name, icount)
End If
If (Val(Result) < 0) Or (Val(Result) > 100) Then
ScoreInput(name, icount)
End If
Return Val(Result)
End Function


Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
End Sub
End Class

Explanation / Answer

Select Case true
Case Average>=90 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "A")
Case Average>=80 And Average<90 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "B")
Case Average>=70 And Average<80 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "C")
Case Average>=60 And Average<70 : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "D")
Case Else : lstReport.Items.Add(Name + " " + "Average:" + Average.ToString() + " " + "Grade:" + " " + "F")
End Select

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote