Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Проверьте калькулятор на c#

Норм код?
using System;

class Calculator

{

static void Main(string[] args)

{

Console.WriteLine("Простой калькулятор");

// Получение первого числа

double num1 = GetNumber("Введите первое число:");

// Получение второго числа

double num2 = GetNumber("Введите второе число:");

// Выбор операции

char operation = GetOperation("Выберите операцию (+, -, *, /):");

// Выполнение операции

double result = PerformOperation(num1, num2, operation);

// Вывод результата

if (double.IsNaN(result))

{

Console.WriteLine("Ошибка: Неверная операция или деление на ноль!");

}

else

{

Console.WriteLine($"{num1} {operation} {num2} = {result}");

}

Console.WriteLine("Нажмите любую клавишу для выхода...");

Console.ReadKey();

}

static double GetNumber(string prompt)

{

double number;

Console.WriteLine(prompt);

while (!double.TryParse(Console.ReadLine(), out number))

{

Console.WriteLine("Некорректный ввод. Пожалуйста, введите число:");

}

return number;

}

static char GetOperation(string prompt)

{

char operation;

Console.WriteLine(prompt);

while (!char.TryParse(Console.ReadLine(), out operation) || "+-*/".IndexOf(operation) == -1)

{

Console.WriteLine("Некорректный ввод. Пожалуйста, выберите операцию (+, -, *, /):");

}

return operation;

}

static double PerformOperation(double num1, double num2, char operation)

{

switch (operation)

{

case '+':

return num1 + num2;

case '-':

return num1 - num2;

case '*':

return num1 * num2;

case '/':

return num2 != 0 ? num1 / num2 : double.NaN; // Возвращаем NaN для деления на ноль

default:


return double.NaN; // Неверная операция (хотя этот случай не должен возникнуть)

}

}

}

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
6мес

Вроде исправно работает, но как-то неинтуитивно выходит, что сначала вводишь два числа, а потом операцию. Напоминает польскую запись: 2 3 +.

Аватар пользователя
Профи
6мес

у меня калькулятор получает в String текст: напр 1+96*8 и вычисляет выражение