学生成绩管理VISSUAL BASIC

Const N% = 3 '可存储十个学生的信息
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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值