字符串不适用于 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 中不适用于数据数组

str_replace 变量生成的字符串不适用于 php

Powershell Try/Catch 或 If/Else 不适用于我的脚本

if else 语句使用包含多个特殊字符的 char[] C#

if/else 语句在 python 中接受大写和小写字母的字符串

字符类型中的if / else语句