问题: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;
}