2014-03-05 151 views
-1

我很难找出正确的代码来计算GPA。我所尝试的一切都以错误的GPA结束。任何帮助将不胜感激我仍然是初学者在视觉基础,但这是我能做的最好的。GPA计算

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 

回答

2

不应该行:

pointAccumulator += 1 

是:

pointAccumulator += point