170 похожих чатов

Ребята, почему double calc() возвращает nan? class calculator{ public: calculator() {

cout << "Start programm " << endl; };

private:
int x;
int y;
char oper;

public:
char oper_;
int x_, y_;
char getOper() {
oper == oper_;
return oper_;
}
int getXY()
{
x = x_;
y = y_;
return x_;
return y_;
}

double calc(int x_, int y_, char oper_) {
switch (oper)
{
case '-':
return x - y;
break;
case '+':
return x + y;
break;
case '*':
return x * y;
break;
case '/':
return x / y;
break;
case '%':
return x % y;
break;
}
}
~calculator() { cout << "Stop programm " << endl; }
};

int main() {
int x, y;
char oper;
cin >> x >> y >> oper;

calculator calc;

cout << calc.calc(x, y, oper) << endl;;
return 0;

}

3 ответов

26 просмотров

в функции calc() ты указываешь параметры x_, y_, oper_, а в кейсах(case) используешь x, y, oper; поэтому свитч не отрабатывает. А так как нет возвращающего оператора у функции (not control paths return a value), то ты получаешь непонятное значение. Еще у тебя в getOper() сравнение oper == oper_, вместо = присваивания и в getXY два return-а - все, что ниже первого уже не отработает.

Kostiantyn- Автор вопроса
the Same⬇ Same
в функции calc() ты указываешь параметры x_, y_, o...

Подправил код вот так, а все равно не отрабатывает #include <iostream> using namespace std; class calculator{ public: calculator() { cout << "Start programm " << endl; }; private: double x; double y; char oper; public: char getOper() { this-> oper == oper; return oper; } double getX() { return x; } double getY() { return y; } double calc(double x, double y, char oper) { switch (oper) { case '-': return x - y; break; case '+': return x + y; break; case '*': return x * y; break; case '/': return x / y; break; } } ~calculator() { cout << "Stop programm " << endl; } }; int main() { double x, y; char oper; cin >> x >> y >> oper; calculator calc; cout << calc.calc(x, y, oper) << endl;; return 0; }

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта