摘要:[Visual Basic 6.0] 學生成績排行計算系統 (讀入組態檔 Ini 式 計算排名)
[Visual Basic 6.0] 學生成績排行計算系統 (讀入組態檔 Ini 式 計算排名)
'---------------------------
' Student.Ini 設定如下
' 第 1 列 為學生座號
' 第 2 列 為學生姓名
' 第 3 列 為學生成績
' 每筆資料必須要加上 , 隔絕
'---------------------------
'# [Visual Basic 6.0] 學生成績排行計算系統
'# 0xDe
'---------------------------
' Student.Ini 設定如下
' 第 1 列 為學生座號
' 第 2 列 為學生姓名
' 第 3 列 為學生成績
' 每筆資料必須要加上 , 隔絕
'---------------------------
Private Sub Form_Load()
Open App.Path & "/Student.ini" For Input As #1
'-----------------將座號讀入
Line Input #1, Inp
ArrayTemp = Split(Inp, ",")
For I = 0 To UBound(ArrayTemp)
List1.AddItem ArrayTemp(I)
Next I
'---------------------------
'-----------------將姓名讀入
Line Input #1, Inp
ArrayTemp = Split(Inp, ",")
For I = 0 To UBound(ArrayTemp)
List2.AddItem ArrayTemp(I)
Next I
'---------------------------
'-----------------將成績讀入
Line Input #1, Inp
ArrayTemp = Split(Inp, ",")
For I = 0 To UBound(ArrayTemp)
List3.AddItem ArrayTemp(I)
Next I
'---------------------------
'-----------------算成績排名
Number = UBound(ArrayTemp)
ReDim Rank(Number) ' 排名
For I = 0 To UBound(ArrayTemp)
Rank(I) = ArrayTemp(I)
Next I
' 排序 (排名)
For I = 0 To UBound(ArrayTemp)
For J = I To UBound(ArrayTemp)
If Val(ArrayTemp(I)) < Val(ArrayTemp(J)) Then
Temp = ArrayTemp(I)
ArrayTemp(I) = ArrayTemp(J)
ArrayTemp(J) = Temp
End If
Next J
Next I
Number = 1 ' 從第一名開始放
Temp = -1
K = 1
For I = 0 To UBound(ArrayTemp)
If Val(ArrayTemp(I)) = Temp Then
K = K + 1
ElseIf Temp > Val(ArrayTemp(I)) Then
Number = Number + K
K = 1
End If
Rank(I) = Number
Temp = Val(ArrayTemp(I))
Next I
For I = 0 To List3.ListCount - 1
For J = 0 To UBound(Rank)
If Val(List3.List(I)) = Val(ArrayTemp(J)) Then List4.AddItem Rank(J): Exit For
Next J
Next I
'---------------------------
End Sub
[Visual Basic 6.0] 學生成績排行計算系統.rar
#0xDe 從分享中學習
#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問