如果语句总是被执行
If statments are always executed
帮助
#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;
}
}
我已经尝试解决这个问题几个小时了,但我无法解决它,看起来当我设置选择值时,所有三个 if 子句都得到执行和打印。
您正在为变量 choose 赋值,而不是在 Odabir 函数中比较它。
比如选=1应该选==1
您在函数的 if 语句中使用赋值运算符 ( = )
而不是比较运算符 ( == )
。
例如
if (choose = 1){
^^^
改写
if (choose == 1){
^^^^
帮助
#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;
}
}
我已经尝试解决这个问题几个小时了,但我无法解决它,看起来当我设置选择值时,所有三个 if 子句都得到执行和打印。
您正在为变量 choose 赋值,而不是在 Odabir 函数中比较它。
比如选=1应该选==1
您在函数的 if 语句中使用赋值运算符 ( = )
而不是比较运算符 ( == )
。
例如
if (choose = 1){
^^^
改写
if (choose == 1){
^^^^