Использование goto - C#

Узнай цену своей работы

Формулировка задачи:

Ребята, нужно выйти из вложенного условного оператора switch, решил использовать goto. Но он прерывает выполнение программы, после того как я прохожу по одному из пунктов меню. А надо, чтобы при нажатии на цифру 6 меню программа прерывала выполнение.
  static void ShowMenu()
        {             
            Console.WriteLine("Используя цифровую клавиатуру, выберите нужную операцию:\n");
            Console.WriteLine("-=1=- Создать директорию и файлы для заданий");
            Console.WriteLine("-=2=- Выполнить задание №2");
            Console.WriteLine("-=3=- Выполнить задачние №3");
            Console.WriteLine("-=4=- Выполнить задачние №4");
            Console.WriteLine("-=5=- Удалить директорию и файлы с жесткого диска");
            Console.WriteLine("-=6=- Выйти из программы");
        }
        static void Menu()
        {
            Console.WriteLine("Вас приветствует программа\n" +
               "студента группы АУЗ-261\nБаринова Филиппа Сергеевича");
            Console.WriteLine("Номер зачетной книжки: -=20151932=-");
            Console.WriteLine("\n");
            while (true)
            {
            
                try
                {
                    ShowMenu();
                    char change = Convert.ToChar(Console.ReadLine());
                    if (int.Parse(Char.ToString(change)) < 0 
                        || int.Parse(Char.ToString(change)) > 6)
                    {
                        Console.WriteLine("Нет пункта меню с таким номером. Попробуйте ещё раз!\n\n");
                        Console.ReadKey();
                        Console.Clear();
                        continue;
                    }
                    switch (change)
                    {
                        case '1':
                            Preparation();
                            Console.Clear();
                            break;
                        case '2':
                            SortWordsInFile(path);
                            Console.Clear();
                            break;
                        case '3':
                            AriphmetisProgressionTask(path);
                            Console.Clear();
                            break;
                        case '4':
                            TwoNumFileSorting();
                            Console.Clear();
                            break;
                        case '5':
                            FilePrepareHandler.DelDirAndIncludeFile(path);
                            Console.Clear();
                            break;
                        case '6':
                            //goto Escape;
                            break;

                    }
                //Escape: break;
                }
                catch(FormatException)
                {
                    Console.WriteLine("Ошибка! Вы ввели не номер меню (а число или символ), попробуйте ещё раз!\n\n");
                    Console.ReadKey();
                    Console.Clear();
                }
                catch (DirectoryNotFoundException)
                {
                    Console.WriteLine("Ошибка! Вы не создали папку, перед выполнением заданий.\n" +
                       "Выберите в меню пункт №1 и программа автоматически\nсоздаст все необхоидмые файлы папки\n\n");
                    Console.ReadKey();
                    Console.Clear();
                }        
                catch (FileNotFoundException)
                {
                    Console.WriteLine("Ошибка! Вы не создали файл, перед выполнением заданий.\n" +
                       "Выберите в меню пункт №1 и программа автоматически\n создаст все необхоидмые файли папки\n\n");
                    Console.ReadKey();
                    Console.Clear();
                }
            
            }
        
        }
        static void Main(string[] args)
        {
            Menu();
        }

Решение задачи: «Использование goto»

textual
Листинг программы
Application.Exit(); //Выход из приложения, размещай где надо

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5