对于下一个循环乘法数

时间:2015-03-09 15:32:30

标签: vb.net

我正在尝试创建一个计算器,用户输入一个数字(1-20),它为用户提供了从1到他们输入的数字得到总和或乘积的选项。即5的总和为15,而产品为120.我使用精选案例和下一循环。我已经设法使计算器的总和部分正常工作,并认为我可以使用相同的原则的产品部分,但我没有这样的运气。任何帮助或在正确的方向轻轻推动将非常感激。 干杯。

代码:

    Dim intsum As Integer
    Dim intnum As Integer
    Dim intproduct As Integer

    If IsNumeric(txtinput.Text) Then
        intnum = CInt(txtinput.Text)
    Else
        MessageBox.Show("Please enter a numeric value", "Input error")
        txtinput.Clear()
        txtinput.Focus()

    End If

    If intnum >= 1 AndAlso intnum <= 20 Then

        Select Case True

            Case btnproduct.Checked
                For P = 1 To intnum Step 1
                    intproduct = intproduct * P

                Next


            Case btnsum.Checked
                For S = 1 To intnum Step 1
                    intsum = intsum + S
                Next




        End Select

2 个答案:

答案 0 :(得分:1)

将intproduct初始化为= 1,因为此时您将值乘以0,因此它始终将最终结果显示为0。

答案 1 :(得分:0)

如果值不是数字,则无需检查intnum的值。

Dim intsum As Integer
Dim intnum As Integer
Dim intproduct As Integer

If IsNumeric(txtinput.Text) Then
    intnum = CInt(txtinput.Text)

    If intnum >= 1 AndAlso intnum <= 20 Then

        Select Case True

        Case btnproduct.Checked
            For P = 1 To intnum Step 1
                intproduct = intproduct * P

            Next


        Case btnsum.Checked
            For S = 1 To intnum Step 1
                intsum = intsum + S
            Next




        End Select
    End If 
Else
    MessageBox.Show("Please enter a numeric value", "Input error")
    txtinput.Clear()
    txtinput.Focus()

End If