1

对于我的项目,我们应该创建一个成绩计算器。到目前为止,我一切正常。计算所有平均值和最终成绩。我遇到的麻烦是:如何将数字等级转换为字母等级。

这是计算最终成绩的代码。

    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。我知道我必须添加图像,但我会添加一个按钮来进行转换吗?我只是很困惑。

4

2 回答 2

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
于 2013-05-02T04:07:35.833 回答
1

对我来说,声明一个成绩数组(A、B、C 等)以及每个成绩的最低分数。

例如:

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”等。

于 2013-05-02T09:00:27.760 回答