如何不使 if 语句与 else 语句"link up"
How to not make if statements "link up" with an else statement
我正在制作一个简单的程序来问你是否想要披萨:
#include <iostream>
using namespace std;
int main()
{
char answer;
cout << "Yes or no, would you like some pizza?: ";
cin >> answer;
cout << endl;
if ((answer == 'n') || (answer == 'N')) {
cout << "Have some anyway.";
}
if ((answer == 'y') || (answer == 'Y')) {
cout << "Okay, here's your pizza!";
}
else {
cout << "Huh? Give me a proper answer.";
}
cout << endl << endl;
return 0;
}
如果您输入"是"或以 Y 开头的任何内容,它将返回"这是您的披萨"。问题是,如果您键入以 n 开头的任何内容,它会说"无论如何都有一些"和"嗯?给我一个正确的答案"。
我试图用另一个"如果"替换 else 语句
if ((answer != 'n') || (answer !='N')) {
cout << "Give me a proper answer";
}
并且对该 if 语句中的每个字母都这样做,但发生了相同的问题......帮助?
这是你要找的吗?
#include <iostream>
using namespace std;
int main()
{
char answer;
cout << "Yes or no, would you like some pizza?: ";
cin >> answer;
cout << endl;
if ((answer == 'n') || (answer == 'N')) {
cout << "Have some anyway.";
}
else if ((answer == 'y') || (answer == 'Y')) {
cout << "Okay, here's your pizza!";
}
else {
cout << "Huh? Give me a proper answer.";
}
cout << endl << endl;
return 0;
}
之前发生的事情是,即使((answer == 'n') || (answer == 'N'))
为 true,也会执行以下代码:
if ((answer == 'y') || (answer == 'Y')) {
cout << "Okay, here's your pizza!";
}
else {
cout << "Huh? Give me a proper answer.";
}
。这就是为什么我们必须编写 else if
而不是 if
,以便上述代码仅在 ((answer == 'n') || (answer == 'N'))
false 时才执行。
使用 else if
而不是第二个if
if ((answer == 'n') || (answer == 'N')) {
cout << "Have some anyway.";
}
else if ((answer == 'y') || (answer == 'Y')) {
cout << "Okay, here's your pizza!";
}
else {
cout << "Huh? Give me a proper answer.";
}
if (condition == true) {/*do this*/}
else if (other_condition == true) {/*do that*/} //repeat as much as you like
else {/*do other stuff*/}
或者使用 switch 语句:
switch(answer) {
case 'y': case 'Y': /*do this*/ break;
case 'n': case 'N': /*do that*/ break;
/*do other stuff*/
}
尝试在第二个 if 语句中使用 else if ...喜欢
else if ((answer == 'y') || (answer == 'Y')) {
cout << "Okay, here's your pizza!";
}
其他一切都很好
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 我似乎对if/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 以在Qt中的IF语句中设置时间延迟
- Craps游戏问题,忽略if语句
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- 如何不使 if 语句与 else 语句"link up"