C++ 布尔函数问题
我的布尔函数有问题。当我编译程序时,一切都运行得很好,但当我输入no时,它仍然会说我能帮你做什么C++ 布尔函数问题,c++,function,if-statement,boolean,C++,Function,If Statement,Boolean,我的布尔函数有问题。当我编译程序时,一切都运行得很好,但当我输入no时,它仍然会说我能帮你做什么 #include <iostream> #include <string> //size() #include <cctype> //isdigit() using namespace std; //(xxx)xxx-xxxx bool verification(string yesOrno) { if(yesOrno == "yes")return(t
#include <iostream>
#include <string> //size()
#include <cctype> //isdigit()
using namespace std; //(xxx)xxx-xxxx
bool verification(string yesOrno)
{
if(yesOrno == "yes")return(true);
else return(false);
}
int main()
{
string yesOrno;
cout <<"Do you need more help\n";
cin >> yesOrno;
if(!verification(yesOrno))cout <<"What can I help you with?\n";
return(0);
}
您的逻辑是向后的-对于不是“是”的任何内容,验证都返回false。由于“否”不是“是”,verificationno返回false,并且在主函数中,如果出现以下情况,则打印此消息!验证否,其计算结果为true
看来你应该放下枪!if语句中的运算符。您的逻辑是向后的-对于不是“是”的任何内容,验证都返回false。由于“否”不是“是”,verificationno返回false,并且在主函数中,如果出现以下情况,则打印此消息!验证否,其计算结果为true
看来你应该放下枪!if语句中的运算符。键入yes时会发生什么? 当你输入no时,它返回false。那你倒过来!这是真的。它工作得很好,但你正在翻转它,所以它不是只处理“是”,而是处理除“是”之外的所有事情
拆下!不是运算符,它将按预期工作。键入“是”时会发生什么? 当你输入no时,它返回false。那你倒过来!这是真的。它工作得很好,但你正在翻转它,所以它不是只处理“是”,而是处理除“是”之外的所有事情
拆下!不是操作员,它将按照您的预期工作。您能告诉我们是什么吗!false是吗?另一方面,通过使用return yesOrno==yes,您可以使验证评估简单得多;而不是增加额外的步骤,使事情变得不必要的复杂化。@DrewDormann答案是。。。。第2行和第4行的注释是cryptic@MattMcNabb我读到这个问题的第2条和第4条的意思是含糊不清的,而且。。。花了很长的时间欣赏这样一个元观察。你能告诉我们是什么吗!false是吗?另一方面,通过使用return yesOrno==yes,您可以使验证评估简单得多;而不是增加额外的步骤,使事情变得不必要的复杂化。@DrewDormann答案是。。。。第2行和第4行的注释是cryptic@MattMcNabb我读到这个问题的第2条和第4条的意思是含糊不清的,而且。。。花了一分钟的时间来欣赏这样一个元观察。