Загрузка...

Исключения в С++. Выделите не достатки?

Тема в разделе C/C++ создана пользователем ICH42 12 апр 2022. 164 просмотра

  1. ICH42
    ICH42 Автор темы 12 апр 2022 Заблокирован(а) 0 24 мар 2022
    #include <iostream>

    bool division(int a, int b, int &res) {
    if (b != 0) {
    res = a / b;
    return true;
    } else {
    return false;
    }
    }

    int main() {
    int a, b;
    std::cin >> a >> b;

    int res;
    if (division(a, b, res)) {
    std::cout << res;
    } else {
    std::cerr << "b must not be equal to 0" << std::endl;
    }

    return 0;
    }
     
  2. andrey_bruter
    andrey_bruter 12 апр 2022 Заблокирован(а) 37 20 сен 2019
    что сделать?
     
  3. vtlstolyarov
    vtlstolyarov 12 апр 2022 468 8 янв 2022
    Не очень понятно при чём тут исключения и как выглядит задача которую надо решить. Если надо просто придраться к коду, то я бы оформил как-то так (не меняю оформление ввода и выводв потому что не знаю условия задачи, но возвращаю из программы ненулевой ResultCode при делении на ноль):
    C
    #include <iostream>

    bool TryGetQuotient(int numerator, int denominator, int &qotient) {
    if (denominator != 0) {
    qotient = numerator / denominator;
    return true;
    } else {
    return false;
    }
    }

    int main()
    {
    int a, b;
    std::cin >> a >> b;

    int result;
    if (TryGetQuotient(a, b, result)) {
    std::cout << result;
    return 0;
    } else {
    std::cerr << "b must not be equal to 0" << std::endl;
    return -1;
    }
    }
     
    12 апр 2022 Изменено
Top
Загрузка...