4.17.frm
来自「VB6.0应用例题」· FRM 代码 · 共 73 行
FRM
73 行
VERSION 5.00
Begin VB.Form Form1
Caption = "成绩统计"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 '窗口缺省
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Click()
Const M = 10, N = 6
Dim Data(M, N + 1) As Integer, I%, J%, K%, Temp%
Randomize Timer
For I = 1 To M '输入学号
Data(I, 0) = 1000 + I
Next I
For I = 1 To N '输入课程名称
Data(0, I) = I + Asc("A") - 1
Next I
For I = 1 To M
For J = 1 To N
Data(I, J) = 60 + 40 * Rnd
Next J
Next I
'求每个学生的总分,放在第N+1列中
For I = 1 To M
For J = 1 To N
Data(I, N + 1) = Data(I, N + 1) + Data(I, J)
Next J
Next I
For I = 1 To N '输出课程名称
Print Tab(8 * I + 2); Chr(Data(0, I));
Next I
Print
For I = 1 To M '输出每个学生的总分和N门课程成绩
For J = 0 To N + 1
Print Tab(8 * J); Data(I, J);
Next J
Print '打印换行
Next I
Print '空一行
'按总分值降序排序
For I = 1 To M - 1
For J = I + 1 To M
If Data(I, N + 1) < Data(J, N + 1) Then
For K = 0 To N + 1 '交换两行数据
Temp = Data(I, K)
Data(I, K) = Data(J, K)
Data(J, K) = Temp
Next K
End If
Next J
Next I
For I = 1 To N '输出课程名称
Print Tab(8 * I + 2); Chr(Data(0, I));
Next I
Print
For I = 1 To M
For J = 0 To N + 1
Print Tab(8 * J); Data(I, J);
Next J
Print
Next I
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?