Построить циклическое консольное меню-приложение «Арифметические операции» - C# (196255)
Формулировка задачи:
Построить циклическое консольное меню-приложение «Арифметические операции». Команды меню задают арифметические операции, допустимые в выражениях языка C#. При выборе пункта меню пользователь получает приглашение к вводу одного или двух значений в зависимости от выбранного пункта меню, затем над значениями выполняется соответствующая операция, и ее результат выводится на консоль.
А вот одна из моих попыток. Правда делает не то, что надо. Почему не выбирает ариф.операцию?
static void Main(string[] args)
{
Console.Write(@"Введите название арифметической операции: ""сложение"", ""вычитание"", ""умножение"" : ");
Console.ReadLine();
string[] s = { "сложение", "вычитание", "умножение" };
Console.Write("x=");
int x = int.Parse(Console.ReadLine());
Console.Write("y=");
int y = int.Parse(Console.ReadLine());
foreach (string сложение in s)
{
int z = x + y;
Console.WriteLine(сложение);
Console.Write("{0}+{1}={2}", x, y, z);
Console.ReadLine();
foreach (string вычитание in s)
{
int k = x - y;
Console.WriteLine(вычитание);
Console.Write("{0}-{1}={2}", x, y, k);
Console.ReadLine();
foreach (string умножение in s)
{
int g = x * y;
Console.WriteLine(вычитание);
Console.Write("{0}*{1}={2}", x, y, g);
Console.ReadLine();Решение задачи: «Построить циклическое консольное меню-приложение «Арифметические операции»»
textual
Листинг программы
Console.WriteLine(@"Введите название арифметической операции: ""сложение"", ""вычитание"", ""умножение"", ""деление"": ");
string op = Console.ReadLine();
var ops = new Dictionary<string, Func<int, int, int>>
{
{"сложение", (i, j) => i + j},
{"вычитание", (i, j) => i - j},
{"умножение", (i, j) => i*j},
{"деление", (i, j) => i/j}
};
if (!ops.ContainsKey(op))
{
Console.WriteLine("Не известная операция.");
return;
}
Console.Write("x=");
int x = int.Parse(Console.ReadLine());
Console.Write("y=");
int y = int.Parse(Console.ReadLine());
Console.WriteLine("{0} {1} {2} = {3}", x, op, y, ops[op](x, y));