我是编程新手,我需要帮助完成我的这项功课。我试图搜索这个问题,但因为我对编程很陌生,所以我不知道应该搜索什么。
我的问题是,如果用户没有输入' y'或者' n',我希望程序再次向他们询问相同的问题,以便程序只有在用户输入“' y”时才会继续。或者' n'
我在下面写的代码让我陷入循环,它会一直问我"输入另一个值(y / n)?:"不管我的回答如何。
do{
cout << "Please enter a numerical value: ";
cin >> value[n];
n++;
do{
cout << "Enter another value (y/n)?: ";
cin >> ans;
} while (answer != 'y' || answer != 'n');
} while (answer == 'y');
答案 0 :(得分:3)
真相表时间:
answer | not y | not n | not y OR not n
---------------------------------------------------
y | false | true | true
n | true | false | true
x | true | true | true
正如您所看到的,没有办法让您的条件成为false
。当输入为false
或y
时,您预计会n
,但这不是正在发生的事情。你怎么解决这个问题?你怎么能只在最后一行做出true
?