/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/csharp/lab-13-003/main.cs
70 строк
2 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
using Система; public class Calculator { public double Add(double a, double b) => a + b; public double Subtract(double a, double b) => a - b; public double Multiply(double a, double b) => a * b; public double Divide(double a, double b) { if (b == 0) throw new DivideByZeroException("Деление на ноль невозможно."); return a / b; } public double? Calculate(double a, string operation, double b) { return operation switch { "+" => Add(a, b), "-" => Subtract(a, b), "*" => Multiply(a, b), "/" => Divide(a, b), _ => null }; } } class Program { static void Main() { var calc = new Calculator(); Console.WriteLine("=== ООП-калькулятор ==="); while (true) { try { Console.Write("Число 1 (или 'q' для выхода): "); string s1 = Console.ReadLine(); if (s1 == "q") break; double x = double.Parse(s1); Console.Write("Операция (+, -, *, /): "); string op = Console.ReadLine(); Console.Write("Число 2: "); double y = double.Parse(Console.ReadLine()); double? res = calc.Calculate(x, op, y); if (res.HasValue) Console.WriteLine($"= {res.Value}"); else Console.WriteLine("Неизвестная операция."); } catch (DivideByZeroException ex) { Console.WriteLine($"Ошибка: {ex.Message}"); } catch (FormatException) { Console.WriteLine("Ошибка: введите корректное число."); } catch (Exception ex) { Console.WriteLine($"Неожиданная ошибка: {ex.Message}"); } Console.WriteLine(); } } }