gpt4 book ai didi

C++ - 一个 if 语句不正确地检查字符串

转载 作者:行者123 更新时间:2023-11-30 01:58:25 26 4
gpt4 key购买 nike



#include 
    
     
#include <字符串>
使用命名空间标准;

字符串问题一个答案;
字符串 questionTwoAnswer;
字符串 questionThreeAnswer;


类测验阿什顿{
民众:
字符串问题 1(){
cout << "你最喜欢的食物是什么?"<< 结束;
cin >> questionOneAnswer;
返回问题一个答案;
}
字符串问题2(){
cout << "你讨厌的人叫什么名字?"<< 结束;
cin >> questionTwoAnswer;
返回 questionTwoAnswer;
}
字符串问题 3(){
cout << "嗨!(是或否)"<< endl;
cin >> questionThreeAnswer;
返回问题三个答案;
}

};

主函数()
{
测验Ashton ashtonAnswers;

ashtonAnswers.question1();
ashtonAnswers.question2();
ashtonAnswers.question3();

如果(questionThreeAnswer!="is"或“否”){
cout << "我问的是是或否!你背叛了我!"<< 结束;
返回 0;
}

cout << “显然你最喜欢的食物是” << questionOneAnswer << “......我想我不会真的相信除非它被“<< questionTwoAnswer << “吃掉并且猫准备好了......:” << 三个问题的答案 << endl;

返回 0;
}

main 下的“if”语句,即使我输入是或否或无效答案,仍会继续 if 语句。 (无论我输入什么,它仍然会在 if 语句中显示消息)。

if (questionThreeAnswer!= "yes" or "no"){
cout << "I asked for a yes or no! You betrayed me!" << endl;
return 0;
}

我知道这是一个简单的修复,但我不完全确定是什么。我有点菜鸟。此外,这可能是也可能不是做我想做的事情的最有效方法,但这主要是为了练习。

最佳答案

if (questionThreeAnswer!= "yes"or "no")
应该是
if ((questionThreeAnswer != "yes") && (questionThreeAnswer != "no"))

另外我建议你不要忘记输入中的字母大小写,std 库中应该有类似 equalsIgnoreCase()toUpper() 的东西来检查忽略大小写的答案。

关于C++ - 一个 if 语句不正确地检查字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441273/

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