Почему не работает условие с or?
Почему не работает условие с or?
При делении выводится результат умножения, а не деления.
Вот код:
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Калькулятор" << endl;
cout << "Введите первое число: ";
int first;
cin >> first;
cout << "Введите второе число: ";
int second;
cin >> second;
cout << "Введите действие: ";
string dosomething;
cin >> dosomething;
if (dosomething == "+")
cout << first + second << endl;
else if (dosomething == "-")
cout << first - second << endl;
else if (dosomething == "*" or "x")
cout << first * second << endl;
else if (dosomething == "/" or "÷" or ":")
cout << first / second << endl;
else
cout << "ошибка" << endl;
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Не задавайте вопросы картинками!!
И еще — если вы считаете, что if (a == b or c) сравнивает a с b и c, то вы таки неправы. Это выражение читается как "если a равно b или c не равно нулю". Естественно, что 'x' никак не равно нулю, так что отрабатывает умножение.
То, что вы хотите, надо проверять как
if (a == b || a == c)
А вот если бы вы дали свой пример текстом, я бы скопипастил и исправил именно вашу строку :)