c++ if/else语句问题
C++ if/else statement problems
前几天我正在使用xcode,并致力于基于文本的对话游戏。
#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;
}
对我来说没什么问题,但Xcode不会运行,因为在这一行:
else
它期望一个表达式?我想不出那是什么意思
如果您希望在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;
}
您忘记使用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
。所以在下一行设置标志会使else
不正确。
您的if
中忘记了括号。以下是else
语句的修复。
#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 () {
} 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/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- Craps游戏问题,忽略if语句
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 有人能在我的代码中找到与C++中的IF语句相关的问题吗
- 面临在 if 语句之外打印变量数据的问题 完成使用 Qt 编程
- 如果 GPA 计算器的语句问题
- C++:关于for语句和参数的一般问题
- C - 如果语句问题.代码将不会运行其他,否则
- C++ 在循环时执行 if 语句问题
- C++二进制搜索树切换语句问题
- C++If Else语句问题
- C++中的条件语句问题
- Switch语句问题
- ASCII和isalpha if语句问题
- 语句问题中要字符串的CPP int
- If语句问题
- c++ If语句问题-显示错误信息
- c++ if/else语句问题
- Switchcase语句问题.从文本文件中读取信息