@GGreyFalcon

Что не так в коде c++?

#include <iostream>

using namespace std;

int main () {

    int num_1, num_2, res;

    char a;

    cout << "First number" << "\n";

    cin >> num_1;

    cout << "Action with numbers" << "\n";

    cin >> a;

    cout << "Second number" << "\n";

    cin >> num_2;

    switch (a) {
        case '+':
            res = num_1 + num_2;
            return res;
            break;
        case '/':
            try {
                if ( num_1 != 0 || num_2 != 0) {
                    res = num_1 / num_2;
                    return res;
                } else ( num_1 == 0 || num_2 == 0 ); {
                    throw -5;
                }
            } catch ( int c ) {
                cout << "Num1 or Num2 = 0" << endl;
                return 0;
            }
        case '-':
            res = num_1 - num_2;
            return res;
            break;
        case '*':
            res = num_1 * num_2;
            return res;
            break;
        default:
        cout << "Error";
    }
    cout << "Result is " << res;
}


у меня код работает ровно да момента перед switch что не так идет дальше?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Gremlin92
@Gremlin92
Целеустремленный
Убери try и catch где деление и добавь break туда, замени на if и else где num2!=0
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы