Оператор goto -это оператор безусловного перехода, используется для передачи управления помеченному оператору.
Оператор goto разрешается использовать в инструкции switch, но его нельзя использовать для проникновения в инструкцию switch.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
using System; class Program { public static int Main() { Console.Write("Введите число : "); decimal a = decimal.Parse(Console.ReadLine()); one: Console.Write("Введите число : "); decimal b = decimal.Parse(Console.ReadLine()); two: Console.Write("Выберите арифметическое действие '+' '-' '*' '/' '%' : "); string str = Console.ReadLine(); switch(str) { case "+": Console.WriteLine("{0} {1} {2} = {3}", a, str, b, (a + b)); break; case "-": Console.WriteLine("{0} {1} {2} = {3}", a, str, b, (a - b)); break; case "*": Console.WriteLine("{0} {1} {2} = {3}", a, str, b, (a * b)); break; case "/": if(b == 0) { Console.WriteLine("На ноль делить нельзя!"); goto one; } else { Console.WriteLine("{0} {1} {2} = {3}", a, str, b, (a / b)); } break; case "%": if(b == 0) { Console.WriteLine("На ноль делить по модулю нельзя!"); goto one; } else { Console.WriteLine("{0} {1} {2} = {3}", a, str, b, (a % b)); } break; default: Console.WriteLine("Вы ввели не тот символ, попробуйте еще!"); goto two; } Console.ReadKey(); return 0; } } |
1 2 3 4 5 6 7 8 9 |
Введите число : 10 Введите число : 0 Выберите арифметическое действие '+' '-' '*' '/' '%' : / На ноль делить нельзя! Введите число : 2 Выберите арифметическое действие '+' '-' '*' '/' '%' : a Вы ввели не тот символ, попробуйте еще! Выберите арифметическое действие '+' '-' '*' '/' '%' : / 10 / 2 = 5 |