0
你好,我正在嘗試使用在文本框txtRECORD中輸入的按鈕btnRECORD將新等級添加到文本文件。我正在使用按鈕btnDISPLAY來計算分數的平均值和高於平均值的分數,並將它們顯示在列表框中。但我似乎無法用btnRECORD添加新的等級到文本文件。 (文本文件爲空)將等級添加到vb.net中的文本文件
Public Class frmGRADES
Dim temp() As String = IO.File.ReadAllLines("Exam.txt")
Dim grades(temp.Length - 1) As Double
Dim average As Double
Dim aboveAverage As Integer
Function avg(ByVal average As Double, ByVal aboveAverage As Integer)//function for average
For i As Double = 0 To grades.Length - 1
If grades(i) > average Then
aboveAverage = aboveAverage + 1
End If
Next
Return aboveAverage
End Function
Private Sub btnRECORD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRECORD.Click
ReDim Preserve grades(temp.Length - 1)
grades(temp.Length - 1) = CDbl(txtRECORD.Text)
IO.File.WriteAllLines("Exam.txt", grades) //write grades to textfile
aboveAverage = 0
End Sub
Private Sub btnDISPLAY_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDISPLAY.Click
lstRESULTS.Items.Clear()
For i As Integer = 0 To grades.Length - 1
grades(i) = CDbl(temp(i))
Next
average = grades.Average
lstRESULTS.Items.Add("The Average Score is: " & average)
aboveAverage = avg(average, aboveAverage)
lstRESULTS.Items.Add("Number of Grades above average is: " & aboveAverage)
aboveAverage = 0
End Sub
End Class
File.WriteAllLines想要一個不是雙精度的字符串數組。我想你已經把Option Strict設置爲Off,否則這段代碼不應該編譯 – Steve
我認爲你的ReDim沒有增加數組的大小。它應該是(temp.Length)。而你的評論並沒有使用正確的角色......這是編譯嗎? –