Vb.net GPA计算器文本框问题
我已经编写了一个GPA计算器,其中有8个文本框用于输入课程名称,8个文本框用于输入每门课程的学时,最后8个文本框用于输入你在这些课程中取得的字母成绩。我在8个占用信用时间的文本框上遇到了问题。如果我不觉得每一个都有一个数字,它会给我一个错误“输入字符串的格式不正确”。我想编程,如果用户只参加5门课程,他们可以将其他3个文本框留空,在他们没有填写学分的文本框中输入一个“0”,然后根据输入的5门课程计算GPA。如果用户在所有8个文本框中输入学分,那么它可以正常工作,但是,如果用户没有填写所有8个,那么就会出现上面提到的错误代码 这是我到目前为止的代码Vb.net GPA计算器文本框问题,vb.net,Vb.net,我已经编写了一个GPA计算器,其中有8个文本框用于输入课程名称,8个文本框用于输入每门课程的学时,最后8个文本框用于输入你在这些课程中取得的字母成绩。我在8个占用信用时间的文本框上遇到了问题。如果我不觉得每一个都有一个数字,它会给我一个错误“输入字符串的格式不正确”。我想编程,如果用户只参加5门课程,他们可以将其他3个文本框留空,在他们没有填写学分的文本框中输入一个“0”,然后根据输入的5门课程计算GPA。如果用户在所有8个文本框中输入学分,那么它可以正常工作,但是,如果用户没有填写所有8个,那
Public Class Form1
Dim QualityPoints As Double
Dim CourseName, hours As String
Private Sub btnTotalHours_Click(sender As Object, e As EventArgs) Handles btnTotalHours.Click
Dim totalHours As String
Dim Credit1, Credit2, Credit3, Credit4, Credit5, Credit6, Credit7, Credit8 As Integer
Credit1 = Integer.Parse(txtBoxCredit1.Text)
Credit2 = Integer.Parse(txtBoxCredit2.Text)
Credit3 = Integer.Parse(txtBoxCredit3.Text)
Credit4 = Integer.Parse(txtBoxCredit4.Text)
Credit5 = Integer.Parse(txtBoxCredit5.Text)
Credit6 = Integer.Parse(txtBoxCredit6.Text)
Credit7 = Integer.Parse(txtBoxCredit7.Text)
Credit8 = Integer.Parse(txtBoxCredit8.Text)
totalHours = CStr(txtBoxTotalHours.Text)
txtBoxTotalHours.Text = (Credit1 + Credit2 + Credit3 + Credit4 + Credit5 + Credit6 + Credit7 + Credit8)
End Sub
Private Sub btnTotalQualityPoints_Click(sender As Object, e As EventArgs) Handles btnTotalQualityPoints.Click
Select Case txtBoxGrade1.Text
Case "A"
QualityPoints += (4 * txtBoxCredit1.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit1.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit1.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit1.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit1.Text)
Case " "
QualityPoints += (0 * txtBoxCredit1.Text)
End Select
Select Case txtBoxGrade2.Text
Case "A"
QualityPoints += (4 * txtBoxCredit2.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit2.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit2.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit2.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit2.Text)
Case " "
QualityPoints += (0 * txtBoxCredit2.Text)
End Select
Select Case txtBoxGrade3.Text
Case "A"
QualityPoints += (4 * txtBoxCredit3.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit3.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit3.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit3.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit3.Text)
Case " "
QualityPoints += (0 * txtBoxCredit3.Text)
End Select
Select Case txtBoxGrade4.Text
Case "A"
QualityPoints += (4 * txtBoxCredit4.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit4.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit4.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit4.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit4.Text)
Case " "
QualityPoints += (0 * txtBoxCredit4.Text)
End Select
Select Case txtBoxGrade5.Text
Case "A"
QualityPoints += (4 * txtBoxCredit5.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit5.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit5.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit5.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit5.Text)
Case " "
QualityPoints += (0 * txtBoxCredit5.Text)
End Select
Select Case txtBoxGrade6.Text
Case "A"
QualityPoints += (4 * txtBoxCredit6.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit6.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit6.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit6.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit6.Text)
Case " "
QualityPoints += (0 * txtBoxCredit6.Text)
End Select
Select Case txtBoxGrade7.Text
Case "A"
QualityPoints += (4 * txtBoxCredit7.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit7.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit7.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit7.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit7.Text)
Case " "
QualityPoints += (0 * txtBoxCredit7.Text)
End Select
Select Case txtBoxGrade8.Text
Case "A"
QualityPoints += (4 * txtBoxCredit8.Text)
Case "B"
QualityPoints += (3 * txtBoxCredit8.Text)
Case "C"
QualityPoints += (2 * txtBoxCredit8.Text)
Case "D"
QualityPoints += (1 * txtBoxCredit8.Text)
Case "F"
QualityPoints += (0 * txtBoxCredit8.Text)
Case " "
QualityPoints += (0 * txtBoxCredit8.Text)
End Select
txtBoxTotalQualityPoints.Text = QualityPoints
End Sub
Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
txtBoxCourse1.Clear()
txtBoxCourse2.Clear()
txtBoxCourse3.Clear()
txtBoxCourse4.Clear()
txtBoxCourse5.Clear()
txtBoxCourse6.Clear()
txtBoxCourse7.Clear()
txtBoxCourse8.Clear()
txtBoxCredit1.Clear()
txtBoxCredit2.Clear()
txtBoxCredit3.Clear()
txtBoxCredit4.Clear()
txtBoxCredit5.Clear()
txtBoxCredit6.Clear()
txtBoxCredit7.Clear()
txtBoxCredit8.Clear()
txtBoxGrade1.Clear()
txtBoxGrade2.Clear()
txtBoxGrade3.Clear()
txtBoxGrade4.Clear()
txtBoxGrade5.Clear()
txtBoxGrade6.Clear()
txtBoxGrade7.Clear()
txtBoxGrade8.Clear()
txtBoxTotalGPA.Clear()
txtBoxTotalHours.Clear()
txtBoxTotalQualityPoints.Clear()
End Sub
感谢您提供的任何帮助 看看
Int32.TryParse
方法。它将尝试解析数据,如果成功,则返回一个值
所以我应该将“Integer.Parse”改为“int32.TryParse”,然后编写正确的if语句?你能提供一个小例子来说明你在说什么吗?我修复了它,最后使用了“numericUpDown”