c++ - 为什么这个 y/n 循环不起作用?

标签 c++ loops logic boolean-logic

所以我做了一个表情,询问你是否愿意升级你的角色。如果你说是,它会再次询问你,直到你达到 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/

相关文章:

c# - 如何用字母创建按字母顺序排列的列表?

python - 从 float 中创建一个带有全星和半星的命令行星级? python 3

在 Windows 7 x64 上使用 NDK r9b 的 android-cmake

c++ - 自定义对象容器的迭代器

java - 写 a==2 和 2==a 的区别

javascript - 我想知道我是否可以在没有 if 语句的情况下比较两个数组项

powershell - 确定 Powershell 命令是否成功

c++ - 依赖隐式声明的 move 构造函数是否安全?

vba - 等待大文件在 Excel 中打开

loops - 在以下方面,WaitGroup不受双重尊重