我是这个网站的新手;实际上这是我的第一个问题。因此,如果我在错误的背景下提出这个问题,请通知我,以便我可以进行调整。 我有一个在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);
}
};
}
我可以请求帮助我在这里做错了吗?
答案 0 :(得分:0)
您需要在某个地方调用自己的功能。替换这个:
for (int i = 1; i <= n; i++)
nfact *= i;
并写下:
nfact = Factorial(n);