对于我的项目,我们应该创建一个成绩计算器。到目前为止我一切都在工作。计算所有平均值和最终成绩。我遇到的问题是:如何将数字等级转换为字母等级。
这是计算最终成绩的代码。
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim result1 As Integer
Dim result2 As Integer
Dim result3 As Integer
Dim attendance As Integer
Dim project As Integer
Dim result As Decimal
result1 = Val(totalResultLabel.Text)
result2 = Val(totalResultLabel.Text)
result3 = Val(totalResultLabel.Text)
attendance = Val(attendanceTextBox.Text)
project = Val(projectTextBox.Text)
result = (result1 * 0.3) + (result2 * 0.15) + (result3 * 0.2) + _
(attendance * 0.1) + (project * 0.25)
finalResultLabel.Text = result
End Sub
最终结果我想要:如果学生收到85,视觉应该说B.我知道我必须添加图像,但是我会添加一个按钮进行转换吗?我很困惑。
答案 0 :(得分:2)
你必须做类似的事情:
....
result = (result1 * .....
Dim strResult as String
Select Case result
Case 0 To 10
strResult = "F"
Case y To z
strResult = x
End Select
finalResultLabel.Text = strResult
答案 1 :(得分:1)
对我来说,声明一个等级(A,B,C等)的数组以及每个等级的最低分数。
E.g:
Dim GradeTable = New Dictionary(Of String, Decimal) From {{"A", 90D}, {"B", 80D}, {"C", 70D}, {"D", 60D}, {"F", 0D}}
以上表示对于“A”,积分必须至少为90,“B”至少为80,依此类推。请注意,上面的列表必须从最高到最低。
然后得到结果的等级(点):
Dim grade As String = GradeTable.First(Function(g) g.Value <= result).Key
其中result
是上述问题中公式的十进制值。
grade
将是“A”,“B”,“C”等等。