.NET 4.x Возврат к определенной точке кода - C#
Формулировка задачи:
Как можно сделать возврат к определенным строчка кода(думаю по коду понятно будет куда) (ЦИКЛЫ НЕ ПРЕДЛАГАТЬ!!!)
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication11
- {
- class Program
- {
- static void Main(string[] args)
- {
- int b;
- int[] a = new int[5];
- for (int i = 1; i <= 5; i++)
- {
- a[i] = i;
- }
- Console.WriteLine("Куда пойти"); // сюда надо вернутся
- Console.WriteLine(a[1] +". Домой");
- Console.WriteLine(a[2] + ". На работу");
- Console.WriteLine(a[3] + ". В магазин");
- Console.WriteLine(a[4] + ". В парк");
- Console.WriteLine(a[5] + ". На реку");
- Console.WriteLine("Введите цифру:");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 1)
- {
- Console.WriteLine("Вы пришли домой");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- //отсюда
- }
- else
- {
- Console.WriteLine("Вы дома");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");//отсюда
- }
- }
- else if(b==2)
- {
- Console.WriteLine("Вы пришли на работу");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы сбежать с работы");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)//отсюда
- {
- }
- else
- {
- Console.WriteLine("Вы работаете");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы сбежать с работы");//отсюда
- }
- }
- else if(b==3)
- {
- Console.WriteLine("Вы пришли в Магазин");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы уйти, потому что у вас денег все равно нет. А чтобы были надо РАБОТАТЬ!!!");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- //отсюда
- }
- else
- {
- Console.WriteLine("Вы в магазине. Без денег ");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы уйти");//отсюда
- }
- }
- else if(b==4)//отсюда
- {
- Console.WriteLine("Вы пошли в парк");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы перестать наслаждаться свежим воздухом");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- }
- else
- {
- Console.WriteLine("Вы гуляете в парке");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы перестать наслаждаться свежим воздухом");
- }
- }
- else if(b==5)//отсюда
- {
- Console.WriteLine("Вы пришли на реку");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)//отсюда
- {
- }
- else
- {
- Console.WriteLine("Вы на реке");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- }
- }
- else
- {
- Console.WriteLine("Неправильный ввод");
- }
- }
- }
- }
Вопрос потерял актуальность. Вот к чему я пришел(и да с ЦИКЛАМИ!!)
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication11
- {
- class Program
- {
- static void Main(string[] args)
- {
- int b;
- int[] a = new int[6];
- for (int i = 1; i < 6; i++)
- {
- a[i] = i;
- }
- restart:
- Console.WriteLine("Куда пойти");
- Console.WriteLine(a[1] +". Домой");
- Console.WriteLine(a[2] + ". На работу");
- Console.WriteLine(a[3] + ". В магазин");
- Console.WriteLine(a[4] + ". В парк");
- Console.WriteLine(a[5] + ". На реку");
- Console.WriteLine("Введите цифру:");
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 1)
- {
- Console.WriteLine("Вы пришли домой");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- while (b != 0)
- {
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- goto restart;
- }
- else
- {
- Console.WriteLine("Вы дома");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- }
- }
- }
- else if(b==2)
- {
- Console.WriteLine("Вы пришли на работу");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы сбежать с работы");
- while (b != 0)
- {
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- goto restart;
- }
- else
- {
- Console.WriteLine("Вы работаете");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы сбежать с работы");
- }
- }
- }
- else if(b==3)
- {
- Console.WriteLine("Вы пришли в Магазин");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы уйти, потому что у вас денег все равно нет. А чтобы были надо РАБОТАТЬ!!!");
- while (b != 0)
- {
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- goto restart;
- }
- else
- {
- Console.WriteLine("Вы в магазине. Без денег ");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы уйти");
- }
- }
- }
- else if(b==4)
- {
- Console.WriteLine("Вы пошли в парк");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы перестать наслаждаться свежим воздухом");
- while (b != 0)
- {
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- goto restart;
- }
- else
- {
- Console.WriteLine("Вы гуляете в парке");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы перестать наслаждаться свежим воздухом");
- }
- }
- }
- else if(b==5)
- {
- Console.WriteLine("Вы пришли на реку");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- while (b != 0)
- {
- b = Convert.ToInt32(Console.ReadLine());
- if (b == 0)
- {
- goto restart;
- }
- else
- {
- Console.WriteLine("Вы на реке");
- Console.WriteLine();
- Console.WriteLine("Нажмите 0 чтобы вернутся");
- }
- }
- }
- else
- {
- Console.WriteLine("Неправильный ввод");
- goto restart;
- }
- }
- }
- }
Решение задачи: «.NET 4.x Возврат к определенной точке кода»
textual
Листинг программы
- class Program
- {
- static void Main(string[] args)
- {
- WhereToGo();
- }
- public static void Go(int command)
- {
- switch (command)
- {
- case 1:
- Console.WriteLine("Вы пришли домой");
- break;
- case 2:
- Console.WriteLine("Вы пришли на работу");
- break;
- case 3:
- Console.WriteLine("Вы пришли в магазин");
- break;
- case 4:
- Console.WriteLine("Вы пришли в парк");
- break;
- case 5:
- Console.WriteLine("Вы пришли на реку");
- break;
- default:
- Console.WriteLine("Неизвестная команда");
- break;
- }
- WhereToGo();
- }
- public static void WhereToGo()
- {
- Console.Write(
- "\nКуда пойти\n" +
- "1. Домой\n" +
- "2. На работу\n" +
- "3. В магазин\n" +
- "4. В парк\n" +
- "5. На реку\n\n" +
- "Введите число: ");
- int command = Convert.ToInt32(Console.ReadLine());
- Go(command);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д