Описание/Пошаговая инструкция выполнения домашнего задания:
Нужно написать программу-калькулятор, которая обрабатывает простое выражение и выводит на следующей строке его результат. При этом она должна корректно отрабатывать различные исключительные ситуации и ошибки. Сама программа для ввода данных должна содержаться в функции Calculate(), то есть программа будет иметь вид Выражение может быть сложением, вычитанием, умножением, делением двух целых чисел (тип int). Формат выражения ЧИСЛО-ОПЕРАНД ОПЕРАТОР ЧИСЛО-ОПЕРАНД В выражении между оператором и числам должен быть пробел. После ввода выражения и нажатия ENTER на следующей строке выводится ответ в формате ответ: результат выражения Ввод выражений допускается до тех пор, пока пользователь не введет слово "стоп" При преобразовании строк в числа не использовать функцию TryParse(), только Parse() В программе должны быть следующие функции Функция сложения чисел: принимает на вход два числа и выводит результат сложения Функция вычитания чисел: принимает на вход два числа и выводит результат вычитания Функция умножения чисел: принимает на вход два числа и выводит результат умножения Функция деления чисел: принимает на вход два числа и выводит результат деления Эти функции никакого текста, кроме Ответ: выводить не должны Функции Sum, Sub, Mul и Div внутри могут вызывать исключения, но обрабатываться они должны на уровне функции Calculate. Каждый вид исключения обрабатывается отдельным catch Пробрасываемые исключения не должны содержать сообщения, которые мы выводим в консоль, что выводить мы определяем по типу исключений вся доп. информация информация ИСКЛЮЧЕНИЯ, КОТОРЫЕ МОГУТ ВОЗНИКНУТЬ В ОБРАБОТЧИКЕ ВХОДНОГО ВЫРАЖЕНИЯ Кейс 1 Если у выражения нет оператора, выбросить исключение и вывести сообщение белым на красном фоне: Укажите в выражении оператор: +, -, *, / Кейс 2 Если оператор не соответствует +, -, * или / , выбросить исключение и вывести сообщение сообщение белым на зеленом фоне: Я пока не умею работать с оператором оператор Кейс 3 Если выражение не проходит по шаблону (нет пробелов между числами и оператором), выбросить исключение и вывести сообщение белым на красном фоне: Выражение некорректное, попробуйте написать в формате a + b a * b a - b a / b Кейс 4 Если какой-то операнд не является числом, выбросить исключение и вывести сообщение белым на красном фоне: Операнд операнд не является числом Кейс 5 При делении на 0, выбросить исключение и вывести сообщение белый текст на фиолетовом фоне Деление на ноль Кейс 6 Если при вычислении выражения получился ответ 13, вывести ответ как обычно, но после этого выбросить исключение и вывести белый текст на зеленом фоне: Вы получили ответ 13! Остальные ошибки Кейс 7 - Все остальные исключения Во всех остальных ошибках - вывести текст: Я не смог обработать ошибку И завершить работу программы калькулятора При написании своих исключений Для кейсов 1-5 попробуйте передавать аргумент для вывода текста как отдельном поле собственного исключения, так и в поле Data (для разных исключений - разный способ) В случае возникновения исключений из **Кейс 7** пробросить его дальше и обработать в `main`, выведя текст В калькуляторе произошла ошибка: текст ошибкиЕсли результат выражения в целом типе не помещается в тип int (например 2000000000000 * 10
), выбросить исключение и вывести сообщение белым на синем фоне
Результат выражения вышел за границы int