题目:学生成绩管理系统
需求: 设计一个学生成绩管理系统,可以实现以下功能:
记录学生信息:包括学号、姓名、性别和年龄。
输入学生的成绩:包括语文、数学和英语成绩。
计算学生的总分和平均分。
根据学生的总分和平均分,判断学生的等级:优秀、良好、及格、不及格。
根据学生的总分和平均分,排序学生的成绩。
代码实现:
Sub Main()
' 声明变量
Dim students() As Variant
Dim studentCount As Integer
' 输入学生总数
studentCount = InputBox("请输入学生总数:")
' 动态分配数组大小
ReDim students(1 To studentCount, 1 To 7)
' 循环输入学生信息和成绩
For i = 1 To studentCount
' 输入学生信息
students(i, 1) = InputBox("请输入第" & i & "个学生的学号:")
students(i, 2) = InputBox("请输入第" & i & "个学生的姓名:")
students(i, 3) = InputBox("请输入第" & i & "个学生的性别:")
students(i, 4) = InputBox("请输入第" & i & "个学生的年龄:")
' 输入学生成绩
students(i, 5) = InputBox("请输入第" & i & "个学生的语文成绩:")
students(i, 6) = InputBox("请输入第" & i & "个学生的数学成绩:")
students(i, 7) = InputBox("请输入第" & i & "个学生的英语成绩:")
' 计算总分和平均分
students(i, 8) = students(i, 5) + students(i, 6) + students(i, 7)
students(i, 9) = students(i, 8) / 3
Next i
' 判断等级和排序成绩
For i = 1 To studentCount
' 判断等级
If students(i, 9) >= 90 Then
students(i, 10) = "优秀"
ElseIf students(i, 9) >= 80 Then
students(i, 10) = "良好"
ElseIf students(i, 9) >= 60 Then
students(i, 10) = "及格"
Else
students(i, 10) = "不及格"
End If
Next i
' 排序成绩
For i = 1 To studentCount - 1
For j = i + 1 To studentCount
If students(i, 8) < students(j, 8) Then
For k = 1 To 10
temp = students(i, k)
students(i, k) = students(j, k)
students(j, k) = temp
Next k
End If
Next j
Next i
' 输出学生成绩
For i = 1 To studentCount
For j = 1 To 10
Debug.Print students(i, j)
Next j
Next i
End Sub