C++ C++;if/else语句问题

C++ C++;if/else语句问题,c++,xcode,c++11,if-statement,C++,Xcode,C++11,If Statement,前几天我在使用xcode,正在开发一款基于文本的对话游戏thingy #include <iostream> int main() { std::cout<<"Conversation simulator requires you to type in all caps for all of your replies"<<std::endl; std::cout<<"Type your first and last name!"

前几天我在使用xcode,正在开发一款基于文本的对话游戏thingy

#include <iostream>

int main()
{
    std::cout<<"Conversation simulator requires you to type in all caps for all  of your replies"<<std::endl;
    std::cout<<"Type your first and last name!"<<std::endl;
    std::string fname = " ";
    std::string lname = " ";
    bool samename = false;
    std::cin>> fname >> lname ;
    if  (fname == "MUSCLE" and lname == "MAN")
        std::cout<< "Wow, we have the same first and last name!"<<std::endl;
        samename = true;
    else
        std::cout<< fname << " "<< lname << "is a very nice name"<<std::endl;

return 0;
}

它期待一个表情?我想不出那可能意味着什么。

你忘记了
if
中的括号<下面的代码>其他语句是修复程序

#include <iostream>

int main()
{
    std::cout<<"Conversation simulator requires you to type in all caps for all  of your replies"<<std::endl;
    std::cout<<"Type your first and last name!"<<std::endl;
    std::string fname = " ";
    std::string lname = " ";
    bool samename = false;
    std::cin>> fname >> lname ;
    if  (fname == "MUSCLE" and lname == "MAN"){
        std::cout<< "Wow, we have the same first and last name!"<<std::endl;
        samename = true;
    } else {
        std::cout<< fname << " "<< lname << "is a very nice name"<<std::endl;
    }
return 0;
}
#包括
int main()
{

std::cout如果希望在
if
下执行多个语句,则需要大括号。下面是为我编译的修复程序

#include <iostream>

int main()
{
        std::cout<<"Conversation simulator requires you to type in all caps for all  of your replies"<<std::endl;
        std::cout<<"Type your first and last name!"<<std::endl;
        std::string fname = " ";
        std::string lname = " ";
        bool samename = false;
        std::cin>> fname >> lname;
        if  (fname == "MUSCLE" and lname == "MAN") {
                std::cout<< "Wow, we have the same first and last name!"<<std::endl;
                samename = true;
        } else {
                std::cout<< fname << " "<< lname << "is a very nice name"<<std::endl;
        }
        return 0;
}
#包括
int main()
{

std::cout您忘记了if块的花括号:

if  (fname == "MUSCLE" and lname == "MAN") {
    std::cout<< "Wow, we have the same first and last name!"<<std::endl;
    samename = true;
}
else
    std::cout<< fname << " "<< lname << "is a very nice name"<<std::endl;
if(fname==“MUSCLE”和lname==“MAN”){
std::cout您错过了括号:

If () {
} else {
}

我认为必须使用开闭式花括号:

if  (fname == "MUSCLE" and lname == "MAN")
{
    std::cout<< "Wow, we have the same first and last name!"<<std::endl;
    samename = true;
}
else
    std::cout<< fname << " "<< lname << "is a very nice name"<<std::endl;
if(fname==“MUSCLE”和lname==“MAN”)
{

std::coutIndentation没有作用域。感谢所有回答我问题的人。当这种情况发生时,你不要只是讨厌它。好的IDE不会像那样破坏缩进,但它可能会发生。无需到处编写
std
。使用命名空间std;
在标题下编写
if  (fname == "MUSCLE" and lname == "MAN")
{
    std::cout<< "Wow, we have the same first and last name!"<<std::endl;
    samename = true;
}
else
    std::cout<< fname << " "<< lname << "is a very nice name"<<std::endl;