GPA计算

时间:2014-03-05 12:40:35

标签: vb.net calculator

我无法找出计算GPA的正确代码。我尝试的一切都以错误的GPA结束。任何帮助将不胜感激我仍然是Visual Basic的初学者,但这是我能做的最好的。

Option Explicit On
Option Strict On
Option Infer Off

Public Class mainForm

  Private Sub exitButton_Click(sender As Object, e As EventArgs) Handles exitButton.Click
    Me.Close()
  End Sub

  Private Sub dataButton_Click(sender As Object, e As EventArgs) Handles dataButton.Click

    Const Prompt As String = "Enter number of Credit Hours:"
    Const Title As String = "Credit Hours"
    Const Prompt2 As String = "Enter grade:"
    Const Title2 As String = "Grades"
    Dim inputCredit As String
    Dim inputGrades As String
    Dim creditHours As Integer
    Dim grades As Char
    Dim gradesCounter As Integer
    Dim point As Integer
    Dim gpaTotal As Double
    Dim creditHoursAccumulator As Integer
    Dim pointAccumulator As Integer


    inputCredit = InputBox(Prompt, Title)
    inputGrades = InputBox(Prompt2, Title2)

    Do While inputCredit <> String.Empty
        Integer.TryParse(inputCredit, creditHours)
        Char.TryParse(inputGrades, grades)


        Select Case grades
            Case CChar("A")
                point = 4
            Case CChar("B")
                point = 3
            Case CChar("C")
                point = 2
            Case CChar("D")
                point = 1
            Case CChar("F")
                point = 0
        End Select

        pointAccumulator += 1
        gradesCounter += 1
        creditHoursAccumulator += creditHours


        inputCredit = InputBox(Prompt, Title)
        inputGrades = InputBox(Prompt2, Title2)


    Loop


    gpaTotal = pointAccumulator / creditHoursAccumulator
    totalCreditsLabel.Text = "Total credit hours:" & creditHoursAccumulator
    gpaLabel.Text = "GPA:" & gpaTotal
    totalGradesLabel.Text = "Number of grades entered:" & gradesCounter



End Sub
End Class

1 个答案:

答案 0 :(得分:2)

不应该排队:

pointAccumulator += 1

是:

pointAccumulator += point