Я пытаюсь создать калькулятор, в котором пользователь вводит число (1-20), и он дает пользователю возможность получить сумму или произведение от 1 до введенного числа. т.е. сумма 5 будет 15, а произведение - 120. Я использую вариант выбора и цикл for next. Мне удалось добиться правильной работы суммы на калькуляторе, и я подумал, что могу использовать тот же принцип для части продукта, но мне не повезло. Любая помощь или легкий толчок в правильном направлении будут очень благодарны. Ваше здоровье.
Код:
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 ответа
Инициализируйте intproduct равным = 1, так как в данный момент вы умножаете свое значение на 0, чтобы он всегда отображал окончательный результат как 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
Похожие вопросы
Новые вопросы
vb.net
Visual Basic.NET (VB.NET) - это мультипарадигмальный, управляемый, типобезопасный, объектно-ориентированный язык компьютерного программирования. Наряду с C # и F # это один из основных языков, нацеленных на .NET Framework. VB.NET можно рассматривать как эволюцию Microsoft Visual Basic 6 (VB6), но реализованную в Microsoft .NET Framework. НЕ ИСПОЛЬЗУЙТЕ этот тег для вопросов VB6, VBA или VBScript.