@Danchik_357

Как сделать команду которая при вводе определенного слова закрывает консоль на C#?

Всем доброго времени суток! Я задался таким вопросом: каким образом можно сделать так чтобы при вводе определенного ключ-слова можно было выходить из консоли. Ниже будет приведен мой код и на самых последних строчках я использовал Environment.Exit(0). Однако я выхожу из самого цикла но не из консоли. Прошу вашей помощи.

static void Main(string[] args)

    {
        {
            while (true)
            {

                Console.Clear();
                double firstVal, secondVal;
                string act;

                try
                {
                    Console.WriteLine("Введите 1-оe число: ");
                    firstVal = double.Parse(Console.ReadLine());

                    Console.WriteLine("Выберите операцию: '+' '-' '*' '/' 'x^' '√x'");
                    act = Console.ReadLine();
                    
                    if (act == "√x")
                       Console.WriteLine(Math.Sqrt(firstVal));

                    else
                        Console.WriteLine("Введите 2-ое число: ");
                        secondVal = double.Parse(Console.ReadLine());


                }
                catch (Exception)
                {
                    Console.WriteLine("Введены недопустимые символы");
                    Console.ReadLine();
                    continue;

                }




                switch (act)
                {
                    case "+":
                        Console.WriteLine(firstVal + secondVal);
                        break;

                    case "-":
                        Console.WriteLine(firstVal - secondVal);
                        break;

                    case "*":
                        Console.WriteLine(firstVal * secondVal);
                        break;
                    case "x^":
                        Console.WriteLine(Math.Pow(firstVal, secondVal));
                        break;
                    case "/":
                        if (secondVal == 0)
                            Console.WriteLine(0);
                        else
                            Console.WriteLine(firstVal / secondVal);
                        break;

                    default:
                        Console.WriteLine("Ошибка!");
                        break;
                }
                Console.ReadLine();

               
                string KeyWord = "exit"; // слово-ключ для выхода
                again:
                string EnterWord = Console.ReadLine();
                
                if (EnterWord == KeyWord)
                        Environment.Exit(0);

                Console.WriteLine("Выход из программы");
                
               
            }
        }
    }
}
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            Console.Clear();
            double firstVal, secondVal = 0;
            string act;

            try
            {
                Console.WriteLine("Введите 1-е число: ");
                firstVal = double.Parse(Console.ReadLine());

                Console.WriteLine("Выберите операцию: '+' '-' '*' '/' 'x^' '√x'");
                act = Console.ReadLine();

                if (act == "exit")
                {
                    Environment.Exit(0);
                }

                if (act == "√x")
                {
                    Console.WriteLine(Math.Sqrt(firstVal));
                }
                else
                {
                    Console.WriteLine("Введите 2-е число: ");
                    secondVal = double.Parse(Console.ReadLine());
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Введены недопустимые символы");
                Console.ReadLine();
                continue;
            }

            switch (act)
            {
                case "+":
                    Console.WriteLine(firstVal + secondVal);
                    break;

                case "-":
                    Console.WriteLine(firstVal - secondVal);
                    break;

                case "*":
                    Console.WriteLine(firstVal * secondVal);
                    break;
                    
                case "x^":
                    Console.WriteLine(Math.Pow(firstVal, secondVal));
                    break;
                    
                case "/":
                    if (secondVal == 0)
                        Console.WriteLine("Деление на ноль невозможно");
                    else
                        Console.WriteLine(firstVal / secondVal);
                    break;

                default:
                    if (act != "√x") // проверка на допустимую операцию
                        Console.WriteLine("Ошибка! Неправильная операция.");
                    break;
            }

            Console.ReadLine();
            Console.WriteLine("Введите 'exit' для выхода или нажмите Enter для продолжения.");
            string? input = Console.ReadLine();
            if (input == "exit")
            {
                Environment.Exit(0);
            }
        }
    }
}

// Введите 1-е число:
// 5
// Выберите операцию: '+' '-' '*' '/' 'x^' '√x'
// /
// Введите 2-е число:
// 0
// Деление на ноль невозможно
// 
// Введите 'exit' для выхода или нажмите Enter для продолжения.
// exit
// 

// Введите 1-е число:
// 5
// Выберите операцию: '+' '-' '*' '/' 'x^' '√x'
// -
// Введите 2-е число:
// 3
// 2
// 
// Введите 'exit' для выхода или нажмите Enter для продолжения.
// exit
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы