Dim cj(1 To N, 0 To 9), M As Integer
Private Sub CMDADD_Click()
Dim I As Integer, S As Integer, Y As Integer
Picture1.Print '空行
For K = 0 To 9
If Text1(K) = "" Then '判断是否输入了完整的信息,询问用户
MsgBox "数据不完整!!!是否继续?", vbQuestion, "提示" '提示信息
Exit Sub
End If
Next K
For I = 0 To 9
cj(M, I) = Text1(I).Text
Picture1.Print Tab(I * 13 + 1); cj(M, I);
Text1(I).Text = ""
Next I
M = M + 1
If M > N Then
MsgBox "已经输满数据!!", vbExclamation, "提示"
CMDADD.Enabled = False
End If
Text1(0).SetFocus
End Sub
Private Sub CMDEXIT_Click()
成绩管理.Hide
进入.Show
End Sub
Private Sub Command10_Click()
Dim I As Integer, J As Integer, K As Integer, T(0 To 18) As String
For I = 1 To N - 1
For J = I + 1 To N
If Val(cj(I, 8)) > Val(cj(J, 8)) Then
For K = 0 To 9
T(K) = cj(I, K)
Next K
For K = 0 To 9
cj(I, K) = cj(J, K)
Next K
For K = 0 To 9
cj(J, K) = T(K)
Next K
End If
Next J
Next I
Picture2.Cls
Picture2.Print
Picture2.Print "姓名", "学号", "数学/期中", "数学/期末", "英语/期中", "英语/期末 ", "计算机/期中 ", "计算机/期末 ", "日语/期中", "日语/期末"
For I = 1 To N
For J = 0 To 9
Picture2.Print cj(I, J),
Next J
Picture2.Print
Next I
End Sub
Private Sub Command11_Click()
Dim I As Integer, J As Integer, K As Integer, T(0 To 18) As String
For I = 1 To N - 1
For J = I + 1 To N
If Val(cj(I, 9)) > Val(cj(J, 9)) Then
For K = 0 To 9
T(K) = cj(I, K)
Next K
For K = 0 To 9
cj(I, K) = cj(J, K)
Next K
For K = 0 To 9
cj(J, K) = T(K)
Next K
End If
Next J
Next I
Picture2.Cls
Picture2.Print
For I = 1 To N
For J = 0 To 9
Picture2.Print cj(I, J),
Next J
Picture2.Print
Next I
End Sub
Const N% = 3 '可存储十个学生的信息
'各科全班成绩求和
Private Sub CMDPLUS_Click(Index As Integer)
Dim I As Integer, L As Integer, SUM(0 To 7) As Integer
For I = 1 To N
SUM(Index) = SUM(Index) + cj(I, Index + 2)
Next I
Text2(Index) = SUM(Index)
End Sub
'查询
Private Sub CMDSEARCH_Click()
Dim NAME As String, J As Integer, P As Integer
NAME = InputBox("请输入要查询的学生的姓名:") '输入学生姓名.根据姓名进行查询各科平均分
Found = False '是否查询到标志Found初始为假
'开始依次在二维信息数组中查询
For I = 1 To N
If cj(I, 1) = NAME Then
Found = True '若找到则标志Found为真
Text3(0) = cj(I, 1)
For P = 2 To 8 Step 2
Text3(P / 2) = (Val(cj(I, P)) + Val(cj(I, P + 1))) / 2 '计算各科平均分
Next P
End If
Next I
If Found = False Then MsgBox "不存在该学生!!", 5 + vbExclamation, "提示"
End Sub
'排序
'建立控件数组
Private Sub CMDPXU_Click(Index As Integer)
Dim I As Integer, J As Integer, K As Integer, T(0 To 18) As String
'排序
For I = 1 To N - 1
For J = I + 1 To N
If Val(cj(I, Index + 2)) > Val(cj(J, Index + 2)) Then
For K = 0 To 9
T(K) = cj(I, K)
Next K
For K = 0 To 9
cj(I, K) = cj(J, K)
Next K
For K = 0 To 9
cj(J, K) = T(K)
Next K
End If
Next J
Next I
'打印输出
Picture2.Cls
Picture2.Print
For I = 1 To N
For J = 0 To 9
Picture2.Print cj(I, J),
Next J
Picture2.Print
Next I
End Sub
Private Sub Form_Load()
M = 1 '初始值为一
End Sub