尝试检查输入的文本与我自己的自定义答案



这是我试图拼凑的东西,不幸的是它没有做我想要的。我希望它做的是检查输入的文本与我认为正确的几个单词。因此,例如,如果我希望唯一的正确答案是"谢谢"或"请",我将如何让程序检查用户输入的单词是"谢谢"还是"请"?

我有一种感觉,我不能只写B == 'funs等。

请帮帮我:

#include <iostream>
using namespace std;
int main ()
{
string B;
for (;;)
{cout << "enter text here" << 'n' ;
cin >> B ;
if (B == 'fUNS'|| B == 'funs' || B == 'funzies')
{
cout << "correct!!!!!!" << endl;
break;
}
else
{
cout << "sorry, please try again" << endl;
continue;

}
}
return 0;
}

与某些语言不同,使用'"将字符序列括起来会产生非常不同的结果。 单引号定义单个字符文字,例如:

char a = 'A';

您可以使用多个字符来定义整数的值(尽管这是非标准的):

int a = 'ABCD';

双引号定义字符串文本,它是数组中的字符序列:

const char str[5] = "ABCD";

请注意,文字末尾有一个隐藏的空字符,这就是为什么它有 5 个元素而不是 4 个元素。字符串文字与std::string相当和可分配:

std::string test( "ABCD" );
std::cout << test == "ABCD";
test = "EFGH";
std::cout << test == "ABCD";

我有一种感觉,我不能只写B == 'funs等。

是的,你可以,因为B是一个std::string,它有一个operator==定义。您只需要使用"(用于定义字符串文字)而不是'(用于定义字符文字),例如:

if (B == "fUNS" || B == "funs" || B == "funzies")

相关内容

最新更新