如何用C++编写if-else语句
How to write an if-else statement in C++?
我对C++很陌生。我的目标是编写以下逻辑:
if a = yes then print "ok", else return 0
这是我到目前为止的代码:
int a;
cin>>a;
if (a = "Yes") { // Error right here
cout<< "ok"; << endl;
}else{
return 0;
}
首先,您希望您的程序做什么?
您需要区分赋值和等于运算符。请注意,在继续执行条件语句之前,您需要了解基本知识。
一个合理的程序应该是这样的:
int a;
cin>>a;
if (a == 5) { // 5 is an integer
cout<< "You entered 5!" << endl; // no semicolon after "
}
return 0; // must be out of the else statement
=
分配事物。使用==
进行比较,但是要将int
与字符串进行比较。如果不小心的话,在处理字符串时会将char*的地址与数字进行比较。请改用std::string
。
#include <string>
//.... some context I presume
std::string a;
cin >> a;
if (a == "Yes") { // Error right here
cout<< "ok"; << endl;
}else{
return 0;
}
此代码中存在多个错误。
您需要在您的条件下使用比较运算符。这由双等号"0"表示;==
";。您的代码正在使用赋值";CCD_ 6";它试图将值"0"分配给"0";是";这是C/C++中的一个常见错误,所以在进行比较时需要小心。
另一个错误是,您已将变量a声明为整数,因此当您尝试编译时,会出现类型不匹配错误,因为"是";是一个字符串。
您的代码在数据类型方面是不正确的。您有一个int类型的变量"a",将其与字符串"yes"进行比较。试着从逻辑的角度来看待它;你可以比较:
- 2个数字(例如,2大于1)
- 2个字符串(例如,"food"与"cat"不是同一个词)等等
在您的情况下,您将输入的数字(假设为5)与单词"是"进行比较。当你试图为var a输入一个字母时,你会得到一个编译错误。因此,只需更改以下内容:
string a;
代码的另一个问题是if-then循环检查条件时;比较运算符是相邻的两个等号,而不是一个等号。一个等号将右边的项目分配给左边的项目。例如,在:中
int num = 5;
变量num被赋值为5。但是你想做一个比较,而不是给变量分配它自己的条件!
您的循环总是真的,因为您将变量设置为它应该满足的条件。您还需要执行以下操作:
if (a == "yes")
这将存储在var a中的值与==右侧的值进行比较。
只是一些建议,我建议你买一些关于c++的好书。在线搜索。你也可以参加edx上的在线编程课程、课程记录等……还有很多其他免费的在线学习资源,你可以利用。您可能还想深入研究一种更简单的编程语言;我推荐刮刮。它让你对编程有了一个非常基本的想法,并且可以在不到一周的时间内完成。
**注意,我觉得这是最简单的方式;不过,您也可以将a的类型设置为char,接受输入,然后将其转换回字符串。祝你好运
- 我的简单if-else语句是如何无法访问的代码
- C++ If/Else 语句被跳过
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 如何将 if else 语句重写为 switch 语句
- 在 C++ 中的 if-else if- else 语句期间更改变量
- 为什么我的 if else 语句不起作用并从数组中输出正确的索引?
- 我的 If Else 语句无法在向量 (C++) 中提供最大值
- 为什么无论输入如何,所有 if-else 语句都会打印?
- 为什么切换 if else 语句的顺序会导致错误?
- 如何使用 if else 语句
- if/else 语句输出由于加号或减号而未显示正确的消息
- if-else 语句仅按特定顺序工作,我不知道为什么
- 试图避免在 for 循环中出现 if-else 语句,但代码似乎有一些错误
- 如何在 if-else 语句中使用 C++20 的可能/不太可能属性
- While循环和if/else语句工作不正常
- 我的fahrenheit-celcius程序会忽略我的if-else语句,并在每次运行该程序时将值更改为0
- 我怎样才能接受输入作为双精度值并执行 IF ELSE 语句
- if-else 语句返回相同的反馈
- C++ 使用 OpenMP 时,如果 for 循环在 if else 语句中出错
- "If Else"语句缩进在C++中是否重要?