Lavig

Другий семестр. Лабораторна робота №20 (Завдання 1)

Jun 4th, 2025
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <stdexcept>
  4.  
  5. using namespace std;
  6.  
  7. double divide(double x, double y) {
  8.     if (y == 0) {
  9.         throw invalid_argument("Знаменник не може бути нулем!");
  10.     }
  11.     return x / y;
  12. }
  13.  
  14. int main() {
  15.     SetConsoleCP(1251);
  16.     SetConsoleOutputCP(1251);
  17.     double a{}, b{}, result{};
  18.     while (true) {
  19.         cout << "Введіть чисельник: ";
  20.         cin >> a;
  21.         if (cin.fail()) {
  22.             cin.clear();
  23.             cin.ignore(32767, '\n');
  24.             cout << "Число було введено неправильно. Спробуйте ще раз!" << endl;
  25.             continue;
  26.         }
  27.         else {
  28.             break;
  29.         }
  30.     }
  31.     while (true) {
  32.         cout << "Введіть знаменник: ";
  33.         cin >> b;
  34.         if (cin.fail()) {
  35.             cin.clear();
  36.             cin.ignore(32767, '\n');
  37.             cout << "Число було введено неправильно. Спробуйте ще раз!" << endl;
  38.             continue;
  39.         }
  40.         else {
  41.             break;
  42.         }
  43.     }
  44.     try {
  45.         result = divide(a, b);
  46.         cout << "Результат ділення: " << result << endl;
  47.     }
  48.     catch (const invalid_argument& e){
  49.         cout << "Виникла помилка: " << e.what() << endl;
  50.     }
  51.     cout << "Програма завершила роботу" << endl;
  52. }
Add Comment
Please, Sign In to add comment