Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С++ (для ИВТ) / Готовые лабы С++ / Лаба7 / Laba 7 (9)
.cpp#include <iostream>
#include <stdexcept>
#include <random>
#include <locale>
using namespace std;
class WaterFinished : public exception {
public:
const char* what() const noexcept override {
return "Закончилась вода";
}
};
class DoorOpened : public exception {
public:
const char* what() const noexcept override {
return "Дверь открыта";
}
};
class WrongObjectInside : public exception {
public:
const char* what() const noexcept override {
return "Неподходящий объект внутри";
}
};
class WashingMachine {
random_device rd;
mt19937 gen;
uniform_int_distribution<> dis;
public:
WashingMachine() : gen(rd()), dis(0, 3) {}
void wash() {
int result = dis(gen);
switch(result) {
case 0:
throw WaterFinished();
case 1:
throw DoorOpened();
case 2:
throw WrongObjectInside();
case 3:
cout << "Стирка завершена успешно!" << endl;
break;
}
}
};
int main() {
setlocale(LC_ALL, "ru_RU.UTF-8");
WashingMachine machine;
try {
machine.wash();
} catch(exception& ex) {
cerr << "Исключение: " << ex.what() << endl;
}
return 0;
}
Соседние файлы в папке Лаба7
