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 + -
显示快捷键?