Использование 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(); //Выход из приложения, размещай где надо
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д