Как можно ограничить ввод второго числа в консоль в C#, когда пользователь выбирает операцию извлечения корня?

Как можно изменить код калькулятора на C#, чтобы при выборе операции, требующей только одно число, пользователю не приходилось вводить второе число? Примером такой операции может быть извлечение корня. Какие изменения необходимо внести в код ниже?
  • 18 июня 2024 г. 7:21
Ответы на вопрос 2
Для того чтобы ограничить ввод второго числа при выборе операции извлечения корня, можно использовать флаг, который будет указывать, что данная операция нуждается только в одном числе. 

Пример изменения кода:

```csharp
using System;

class Calculator
{
    static void Main()
    {
        Console.WriteLine("Введите первое число:");
        double num1 = Convert.ToDouble(Console.ReadLine());

        Console.WriteLine("Выберите операцию: ");
        Console.WriteLine("1 - Сложение");
        Console.WriteLine("2 - Вычитание");
        Console.WriteLine("3 - Умножение");
        Console.WriteLine("4 - Деление");
        Console.WriteLine("5 - Извлечение корня");
        int choice = Convert.ToInt32(Console.ReadLine());

        double result = 0;

        switch (choice)
        {
            case 1:
                Console.WriteLine("Введите второе число:");
                double num2 = Convert.ToDouble(Console.ReadLine());
                result = num1 + num2;
                break;
            case 2:
                Console.WriteLine("Введите второе число:");
                double num2 = Convert.ToDouble(Console.ReadLine());
                result = num1 - num2;
                break;
            case 3:
                Console.WriteLine("Введите второе число:");
                double num2 = Convert.ToDouble(Console.ReadLine());
                result = num1 * num2;
                break;
            case 4:
                Console.WriteLine("Введите второе число:");
                double num2 = Convert.ToDouble(Console.ReadLine());
                result = num1 / num2;
                break;
            case 5:
                result = Math.Sqrt(num1);
                break;
            default:
                Console.WriteLine("Неверная операция");
                break;
        }

        Console.WriteLine("Результат: " + result);
    }
}
```

Изменения в коде:
1. Для операции извлечения корня (case 5) второе число больше не запрашивается у пользователя.
2. Убраны дополнительные запросы ввода второго числа для операций, которые требуют только одно число.

Теперь при выборе операции извлечения корня пользователь не будет запрашиваться ввод второго числа.
Использовать стандартную проверку условия: если команде нужно одно число - то и просить ввода одного числа.
Похожие вопросы