Я пытаюсь создать калькулятор, в котором пользователь вводит число (1-20), и дает пользователю возможность получить сумму или произведение от 1 до числа, которое они ввели. т.е. сумма 5 будет равна 15, тогда как продукт будет равен 120. Я использую select case и a для следующего цикла. Мне удалось получить правильную сумму части калькулятора, и я подумал, что могу использовать тот же принцип для части продукта, но у меня нет такой удачи. Любая помощь или нежный подталкивание в правильном направлении были бы весьма признательны. Cheers.Для следующих чисел умножения цикла
Код:
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
Я думаю, вам нужно инициализировать 'initproduct' к 1. – Tachyon
Вам необходимо инициализировать intproduct перед циклом, это будет постоянно нуль с указанным кодом. – DoctorMick
Возможно, вам захочется пересмотреть диапазон поддерживаемых значений. '20!' = '2.432902e + 18', который не поместится в' Integer' –