如果语句始终执行

If statments are always executed

提问人: 提问时间:11/1/2015 最后编辑:Vlad from Moscow 更新时间:9/30/2019 访问量:46

问:

帮助

#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;
    }

}

几个小时来,我一直在尝试解决这个问题,但我无法通过它,看起来当我设置选择值时,如果子句被执行并打印,则所有三个。

c++ if 语句 比较运算符

评论

0赞 Thomas Matthews 11/1/2015
您可能希望使用代替 s。switchif

答:

2赞 Anon Mail 11/1/2015 #1

您正在分配变量 choose,而不是在 Odabir 函数中进行比较。

例如,choose = 1 应该是 choose == 1

6赞 Vlad from Moscow 11/1/2015 #2

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

例如

if (choose = 1){
          ^^^ 

改写

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