if 语句 - C++逻辑运算符

if statement - C++ Logicial Operators

本文关键字:逻辑运算符 C++ 语句 if      更新时间:2023-10-16

所以我写了一个小程序来计算简单形状的周长(编码非常新,所以保持简单)。我现在被困住了代码太三角形了,我一生都无法弄清楚如何让最后一个逻辑运算符工作!!?一如既往地非常感谢您的时间和建议。

最好的问候,杰克。

#include <iostream>
#include <string>
using namespace std;
int main ()
{   
    int length;
    int Diameter;
    float Pi = 3.14;
    string Shape;
    string Square = "Square";
    string Triangle = "Triangle";
    string Circle = "Circle";          
    cout <<"=======================" << endl;
    cout <<"=Welcome to Perimeters=" << endl;
    cout <<"#######################" << endl;
    cout <<"###|Select A Shape|####" << endl; 
    cout <<"=======================" << endl;
    cout <<"=   |   Circle   |    =" << endl;
    cout <<"=   |  Triangle  |    =" << endl;   
    cout <<"=   |   Square   |    =" << endl;
    cout <<"=======================" << endl;

    cout <<"Enter Shape >; ";
    cin >> Shape;
    if (Shape == "Square") {
        cout << "Enter Length of Side >: ";
        cin >> length;
        cout <<  "Perimeter = " ; 
        cout << length * 4 <<endl;
    } else {
             (Shape == "Triangle"){ 
             cout << "Enter Length of Side >: ";
             cin >> length;
             cout <<  "Perimeter = " ; 
             cout << length * 3 <<endl;
             }    
            }   
            else  {
                    (Shape == "Circle") { 
                    cout << "Enter Diameter >: ";
                    cin >> Diameter;
                    cout <<  "Perimeter = " ; 
                    cout << Diameter * Pi <<endl;
                    }
                   }


    return 0;
}

您没有正确编写 else-if 语句。它的形式应该是:

if(boolean expression) {}
else if (boolean expression) {} // as many else ifs as you need
else {} // optional

因此,您的其他条件应该是:

if (Shape == "Square") {
    cout << "Enter Length of Side >: ";
    cin >> length;
    cout <<  "Perimeter = " ; 
    cout << length * 4 <<endl;
} else if (Shape == "Triangle"){
    // and so on...
} else {
    cout << "Invalid shape entered.";
}

此外,PI 不是 3.14。包括<math.h>并使用M_PI

您需要处理代码格式...

如果 insead of else,请使用 else。

if (Shape == "Square") {
    cout << "Enter Length of Side >: ";
    cin >> length;
    cout <<  "Perimeter = " ; 
    cout << length * 4 <<endl;
}
 else if (Shape == "Triangle"){ 
    cout << "Enter Length of Side >: ";
    cin >> length;
    cout <<  "Perimeter = " ; 
    cout << length * 3 <<endl;
 }    
 else if (Shape == "Circle") {
    (Shape == "Circle")
    cout << "Enter Diameter >: ";
    cin >> Diameter;
    cout <<  "Perimeter = " ; 
    cout << Diameter * Pi <<endl;
 }
 else{
    cout << "invalid shape name" << endl;
 }

你好,你必须写其他的,如下所示。

 #include <iostream>
 #include <string>
using namespace std;
int main ()
{   
     int length;
int Diameter;
float Pi = 3.14;
string Shape;
string Square = "Square";
string Triangle = "Triangle";
string Circle = "Circle";     **strong text**

cout <<"=======================" << endl;
cout <<"=Welcome to Perimeters=" << endl;
cout <<"#######################" << endl;
cout <<"###|Select A Shape|####" << endl; 
cout <<"=======================" << endl;
cout <<"=   |   Circle   |    =" << endl;
cout <<"=   |  Triangle  |    =" << endl;   
cout <<"=   |   Square   |    =" << endl;
cout <<"=======================" << endl;

cout <<"Enter Shape >; ";
cin >> Shape;
if (Shape == "Square") {
    cout << "Enter Length of Side >: ";
    cin >> length;
    cout <<  "Perimeter = " ; 
    cout << length * 4 <<endl;
} else if (Shape == "Triangle"){
         cout << "Enter Length of Side >: ";
         cin >> length;
         cout <<  "Perimeter = " ; 
         cout << length * 3 <<endl;
} else if (Shape == "Circle") { 
         cout << "Enter Diameter >: ";
         cin >> Diameter;
         cout <<  "Perimeter = " ; 
         cout << Diameter * Pi <<endl;
}
return 0;

}

希望这对你有帮助