Четыре лямбда оператора для выполнения арифметических действий - C#
Формулировка задачи:
Проверьте правильно ли я сделал? И подскажите, как в Лямбда оператор впихнуть проверку деления на 0, как только не пробовал, не получалось. Спасибо.
Создайте четыре лямбда оператора для выполнения арифметических действий: (Add – сложение, Sub – вычитание, Mul – умножение, Div – деление). Каждый лямбда оператор должен принимать два аргумента и возвращать результат вычисления. Лямбда оператор деления должен делать проверку деления на ноль.
Написать программу, которая будет выполнять арифметические действия указанные пользователем.
using System; namespace Less06_task01 { public delegate int MyDelegat(int a, int b); class Program { static void Main() { Console.WriteLine("Введите действие--> +,-,*,/"); string a = Console.ReadLine(); Console.WriteLine("Первое число -->"); int x = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Второе число -->"); int y = Convert.ToInt32(Console.ReadLine()); switch (a) { case "+": MyDelegat myDelegat = (c, b) => { return c + b; }; int del = myDelegat(x, y); Console.WriteLine("Ответ:{0}",del); break; case "-": MyDelegat myDelegat1 = (c, b) => { return c - b; }; int del1 = myDelegat1(x, y); Console.WriteLine("Ответ:{0}", del1); break; case "*": MyDelegat myDelegat2 = (c, b) => { return c * b; }; int del2 = myDelegat2(x, y); Console.WriteLine("Ответ:{0}", del2); break; case "/": MyDelegat myDelegat3 = (c, b) => { return c / b; }; int del3 = myDelegat3(x, y); Console.WriteLine("Ответ:{0}", del3); break; default: Console.WriteLine("Выберите из предложанного"); break; } Console.ReadKey(); } } }
Может кто подсказать?
Решение задачи: «Четыре лямбда оператора для выполнения арифметических действий»
textual
Листинг программы
case "+": MyDelegat myDelegat = (c, b) => c + b; int del = myDelegat(x, y); Console.WriteLine("Ответ:{0}", del); break; case "-": MyDelegat myDelegat1 = (c, b) => c - b; int del1 = myDelegat1(x, y); Console.WriteLine("Ответ:{0}", del1); break; case "*": MyDelegat myDelegat2 = (c, b) => c * b; int del2 = myDelegat2(x, y); Console.WriteLine("Ответ:{0}", del2); break; case "/": MyDelegat myDelegat3 = (c, b) => b == 0 ? 0 : c / b; int del3 = myDelegat3(x, y); Console.WriteLine("Ответ:{0}", del3); break;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д