字符串不适用于 if else 语句
Posted
技术标签:
【中文标题】字符串不适用于 if else 语句【英文标题】:String not working with if else statement 【发布时间】:2021-09-14 06:55:46 【问题描述】:我正在创建一个适用于英制和公制系统的 BMI 计算器。我不太确定发生了什么,但无论我输入什么,它只会进入第一个条件。
#include <iostream>
using namespace std;
int main()
int weight;
int height;
string measurementSystem;
cout << "Metric or English?: \n";
cin >> measurementSystem;
if (measurementSystem == "metric" || "Metric")
cout << "Enter your weight (kg): \n";
cin >> weight;
cout << "Enter your height (m): \n";
cin >> height;
else if (measurementSystem == "english" ||"English")
cout << "Enter your weight (lbs): \n";
cin >> weight;
cout << "Enter your height (in): \n";
cin >> height;
else
cout << "Please check spelling";
system("pause>0");
【问题讨论】:
邮政编码,不是图片 请编辑您的问题并将您的代码文本放在这里。不是它的照片。 也|| "Metric"
不会像你想的那样。
应该是measurementSystem == "Metric" ||测量系统 == “公制”。
The Definitive C++ Book Guide and List
【参考方案1】:
在第 17 和 22 行,您必须在 OR 运算符的第二个子句中包含变量的名称。例如
if (measurementSystem == "metric" || measurementSystem == "Metric")
没有这个,裸字符串Metric
将评估为true
,因为它不为零。
【讨论】:
以上是关于字符串不适用于 if else 语句的主要内容,如果未能解决你的问题,请参考以下文章
if 和 else 条件在 laravel 中不适用于数据数组
Powershell Try/Catch 或 If/Else 不适用于我的脚本
if else 语句使用包含多个特殊字符的 char[] C#