2014-03-05 152 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