使用MOD和嵌套

时间:2014-10-14 18:56:38

标签: vb6 division nested

我使用VB很新,而且我是编程的初学者,所以我为糟糕/不整洁的代码道歉:P

我无法看到我在这里做错了什么。该程序应该从用户获得3个数字,并且这3个数字必须加起来,然后可以被3整除以使其有效。此外,该数字不能比前一个数字少1。不遵守这些规则'应该会在消息框中显示" INVALID SIDESWAP"。我认为这是MOD部分的问题,因为无论我输入什么,它总是返回" VALID SIDESWAP"。任何帮助将不胜感激:)

Dim FirstNumber, SecondNumber, ThirdNumber As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Text = FirstNumber
    TextBox2.Text = SecondNumber
    TextBox3.Text = ThirdNumber

    If (FirstNumber + SecondNumber + ThirdNumber) Mod 3 = 0 Then
        If (FirstNumber - SecondNumber) <> 1 And (SecondNumber - ThirdNumber) <> 1 And (ThirdNumber - FirstNumber) <> 1 Then
            MsgBox("VALID SIDESWAP")
        Else
            MsgBox("INVALID SIDESWAP 1")
        End If
    Else
        MsgBox("INVALID SIDESWAP 2")
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

heirich说的是真的,只要你在文本框中输入Numbers就可以解决问题。 如果你想避免任何错误,快速的方法是:

Firstnumber = val(Textbox1.text)

等。 你使用Integers作为firstnumber,val也会识别Decimals,所以你也可以使用cdbl。

Firstnumber = cdbl(Textbox1.text)

但是空文本框会产生错误,因此请使用组合

Firstnumber = cdbl(val(Textbox1.text))