c++ - 如果语句总是被执行

标签 c++ if-statement assignment-operator comparison-operators

帮助

#include <iostream>
#include <math.h>
using namespace std;
const float pi = 3.14;
void Odabir(int);
int main(){
    int choose;
    cout << "Odaberite 1 2 ili 3" << endl;
    cin >> choose;
    Odabir(choose);
    return 0;
}
void Odabir(int choose){
    if (choose = 1){
        float b, vb;
        cout << "Unesite duljinu stranice b: " << endl;
        cin >> b;
        cout << "Unesite duljinu visine na stranicu b vb: " << endl;
        cin >> vb;
        cout << "Povrsina raznostranicnog trokuta je: " << ((b*vb) / 2) << endl;
    }
    if (choose = 2){
        float r;
        cout << "Unesite duljinu polumjera: " << endl;
        cin >> r;
        cout << "Povrsina kruga je: " << pow(r, 2)*pi << endl;
    }

}

几个小时以来我一直在尝试解决这个问题,但我无法解决它,看起来当我设置 choose 值时,所有三个 if 子句都得到执行和打印。

最佳答案

您在函数的 if 语句中使用赋值运算符 ( = ) 而不是比较运算符 ( == )

例如

if (choose = 1){
          ^^^ 

改写

if (choose == 1){
          ^^^^ 

关于c++ - 如果语句总是被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454626/

相关文章:

python - 这本字典如何获取数据?

c++ - 在堆栈上声明对象的两种方式之间的区别

C++内联函数?

c++ - 什么是 void(*)(void *)

python - 为什么 != 无法在 Python 中检查整数

C++ 函数返回一个右值,但可以分配一个新值?

c++ - 从赋值运算符调用析构函数有什么意想不到的后果吗?

c++ - 采用所需属性的比较器

c++ - i++或++ i更适合此程序吗?

Python 问题 : Try and Excepts with if