所以我做了一个表情,询问你是否愿意升级你的角色。如果你说是,它会再次询问你,直到你达到 20 级(D&D 等级上限)或直到你说不。
我输入 y 然后按回车,它说这是错误的,按 n 然后回车,同样的事情。这是我的代码:
char yn;
do {
cin >> yn;
while (yn != 'y' || yn != 'n') {
cout << "Only y or n are valid options, try again: ";
cin >> yn;
}
if (yn == 'y')
f.levelUp();
cout << endl;
} while(yn != 'n' || f.getLevel() != 20);
我觉得我遗漏了一些非常明显的东西!
最佳答案
让你的||一个 &&。想一想; yn 不能既是“y”又是“n”,因此该条件始终为真。
关于c++ - 为什么这个 y/n 循环不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004564/