Visual Studio 2019 VB开发成绩计算器,Add按钮求和计数代码如何编写
VB.Net成绩统计工具Add按钮实现方案
你可以直接使用下方代码替换Button2_Click的空方法体即可实现需求,代码内置了输入合法性校验,避免用户输入非数字内容导致程序崩溃:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' 校验输入内容是否为合法整数 Dim inputScore As Integer If Not Integer.TryParse(txtscore.Text.Trim(), inputScore) Then MessageBox.Show("请输入有效的整数成绩", "输入错误", MessageBoxButtons.OK, MessageBoxIcon.Error) txtscore.SelectAll() Return End If ' 可选校验:限制成绩范围在0-100,不需要可以删除这段 If inputScore < 0 OrElse inputScore > 100 Then MessageBox.Show("成绩需在0-100区间内", "输入错误", MessageBoxButtons.OK, MessageBoxIcon.Error) txtscore.SelectAll() Return End If ' 累加总和、更新录入数量 ScoreTotal += inputScore ScoreCount += 1 ' 计算平均值 Dim averageScore As Decimal = If(ScoreCount > 0, ScoreTotal / ScoreCount, 0) ' 给只读文本框赋值 txtscoretotal.Text = ScoreTotal.ToString() txtscorecount.Text = ScoreCount.ToString() ' 平均值默认保留2位小数,可自行修改F后的数字调整保留位数 txtaverage.Text = averageScore.ToString("F2") ' 清空输入框,方便下次录入 txtscore.Text = String.Empty txtscore.Select() End Sub
可选优化建议
- 原代码中定义的全局变量
Average As Integer不需要可以删除,平均值无需全局存储,每次录入后临时计算即可 - 计数变量
ScoreCount建议修改为Integer类型,更符合计数场景的使用习惯 - 如果不需要保留小数的平均值,可将
averageScore的类型改为Integer,赋值时使用Math.Round做四舍五入处理即可
内容的提问来源于stack exchange,提问作者user17220648
相关产品推荐
相关产品推荐

