Я новичок в этом сайте; на самом деле это мой первый вопрос. Поэтому, если я задаю этот вопрос не в том контексте, пожалуйста, сообщите мне, чтобы я мог внести коррективы.
У меня есть программа, созданная в Visual Studio 2010, которая позволяет пользователю вводить целое число от 1 до 10. Этот пользователь нажимает кнопку, которая, в свою очередь, должна вычислить и отобразить факториальное значение целого числа в текстовом поле. Я думал, что все выглядит правильно, но ничего не появляется в текстовом поле.
Следующий код — это то, что я использовал:
#pragma endregion
private: System::Void btnFactorial_Click(System::Object^ sender, System::EventArgs^ e)
{
int n;
int nfact = 1;
Int32::TryParse(txtNum->Text, n);
if (n > 0)
{
for (int i = 1; i <= n; i++)
nfact *= i;
txtResult->Text = nfact.ToString();
}
else
MessageBox::Show ("Please enter a value > 0");
}
private: int Factorial (int n)
{
if (n == 0)
return 1;
else
return n * Factorial (n-1);
}
};
}
Могу ли я попросить помощи в том, что я делаю здесь неправильно?
Вы должны вызвать свою собственную функцию где-нибудь. Заменить это:
for (int i = 1; i <= n; i++)
nfact *= i;
и напишите это:
nfact = Factorial(n);
Других решений пока нет …