gpt4 book ai didi

c++ - (C++) 如何验证 char 变量的用户输入?

转载 作者:行者123 更新时间:2023-11-27 23:08:00 24 4
gpt4 key购买 nike

我在比较 char 变量的用户输入时遇到问题。我想检查他们对某个问题的回答是 Y 还是 N。如果他们没有输入 Y 或 N,我想给用户一条错误消息并重新开始循环。

下面是我创建的测试代码,作为我打算使用它的程序的模板。无论用户输入什么,程序都会循环。此外,如果用户输入“n”个字符,他们将收到“n”个“失败!”消息以及每次的初始 cout 消息。如果他们输入 Y,它也会发生,当然它会显示“成功!”。

我在网上四处寻找,但还没有找到任何人解决这个问题。为什么 == 适用于等价性检查,而 != 不适用于字符(以及与此相关的字符串)?

#include<iostream>

using namespace std;

int main()
{
char answer;

do{
cout <<"\nPlease type Y or N." << endl;
cin >> answer;

if ((answer == 'Y') || (answer == 'N'))
{
cout << "\nSuccess!" << endl;
}
else
{
cout << "\nFailure!" << endl;
}
}while ((answer != 'Y') || (answer != 'N'));

return 0;
}

最佳答案

问题出在下面一行:

while ((answer != 'Y') || (answer != 'N'));

这些条件中的任何一个始终为真,并且您正在应用逻辑或,因此您永远无法摆脱此循环。您需要按如下方式更改它:

while (answer != 'Y' && answer != 'N') 

关于c++ - (C++) 如何验证 char 变量的用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com