如何在C ++中创建一个阶乘程序

时间:2012-10-31 23:46:50

标签: c++ visual-studio-2010 factorial

我是这个网站的新手;实际上这是我的第一个问题。因此,如果我在错误的背景下提出这个问题,请通知我,以便我可以进行调整。 我有一个在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);
        }
    };
}

我可以请求帮助我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

您需要在某个地方调用自己的功能。替换这个:

for (int i = 1; i <= n; i++)
                nfact *= i;

并写下:

nfact = Factorial(n);