c++搞手进。解决办法

c++搞手进。。
1.以下是一个采用类结构的方式求n! 的程序,请填空完成程序。

# include <iostream.h>
class factorial
{
int n;
int fact;
public:
factorial(int); //带参的构造函数
void calculate();
void display();
};


factorial:: factorial(int val)
{
n=val;
(1)
}

void factorial::calculate()
{
int i=n;
while(i>1)
(2)
}

void factorial::display()
{
cout<<n<<"!="<< (3) <<endl;
}

void main()
{
int n;
cout<<"请输入n的值: ";
cin>>n;
factorial A(n);
A.calculate();
(4)
}

要求:编译调试运行程序,得到正确结果。在填空处加上注释。

------解决方案--------------------
...MS不让发作业帖这些的
------解决方案--------------------
C/C++ code
    fact=1;//(1)阶乘的初始值设为1
        fact *=(i--);//(2)从i=n开始乘,一直到i=2

------解决方案--------------------
C/C++ code
    cout<<n<<"!="<<fact<<endl;//(3)输出所得结果
    A.display();//(4)显示n的阶乘的值

------解决方案--------------------
C/C++ code
# include <iostream.h>
using namespace std;

------解决方案--------------------
楼主真懒,作业还要自己做好,为了你自己。
C/C++ code
#include <iostream>
using namespace std;
class factorial
{
    int n;
    int fact;
public:
    factorial(int); //带参的构造函数
    void calculate();
    void display();
};


factorial:: factorial(int val)
{
    n=val;
    fact=1;
}

void factorial::calculate()
{
    int i=n;
    while(i>1)
    {
        fact*=i--;
    }
}

void factorial::display()
{
    cout<<n<<"!="<< fact <<endl;
}

int main()
{
    int n;
    cout<<"请输入n的值: ";
    cin>>n;
    factorial A(n);
    A.calculate();
    A.display();
    return 0;
}