问题:while当用户输入时无法开始循环y。
我花了几个小时搜索包括 Stack Overflow 在内的所有论坛以寻找线索,并试图弄清楚这一点(自学 C++)。根据我读过的内容,我已经尝试过:一个do循环在开始时有效,但它通过将先前numb的条目乘以下一个条目的阶乘来错误地计算(冲洗问题?),我尝试break了它并停止计算,但它也停止而不到达 cout < <“再做一个?”。我还尝试在语句和 if 语句周围添加/移动大括号(绝望地)。
//problem #6 page 127 Robert Lafore OOP Prg C++ 4th ed.
#include <iostream>
using namespace std;
int main()
{
    unsigned int numb;
    unsigned long fact = 1;  //long for larger numbers
    char ch;
    cout << "Enter a number  ";
    cin >> numb;
    for (int j = numb; j > 0; j--) //multiply 1 by
    {
        fact *= j;
        cout << "Factorial is "<< fact << endl;
        cout << "Do another? (y/n)\n";
        cin >> ch;
    }
    while(ch !='n');  
    return 0;
}