Как перейти в начало программы

Допустим мы ввели 0. Выводит сообщение мол введите другое число и на этом работа программы заканчивается, а как сделать чтобы начало отрабатывать с начала ?

Отслеживать
5,185 3 3 золотых знака 23 23 серебряных знака 48 48 бронзовых знаков
задан 7 окт 2015 в 18:33
245 3 3 серебряных знака 11 11 бронзовых знаков
Кстати, 0 чётный 🙂
7 окт 2015 в 18:43

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Обычно чаще всего для этого используются управляющие конструкции такие, как while и do-while Реже используется for , когда нет конечного перечисления .

int n = 0; do < System.out.print(«Введите число ( 0 — exit ): «); n = scn.nextInt(); if ( n != 0 ) < if( n%2 == 0) < System.out.print(«Ваше число чётное «); >else < System.out.print(«Ваше число нечётное «);>> > while ( n != 0 );
while ( true ) < int n = 0; System.out.print(«Введите число ( 0 — exit ): «); n = scn.nextInt(); if ( n == 0 ) break; if( n%2 == 0) < System.out.print(«Ваше число чётное «); >else < System.out.print(«Ваше число нечётное «);>>

Я сделал n равным 0 условием выхода из цикла (когда-то же пользователь должен покинуть программу, не так ли?:) ). Вы можете выбрать любое условие выхода из цикла на ваше усмотрение.

Как выучить C#? Самый аху#### способ!

Кстати сказать, на мой взгляд использование break с меткой — это плохой стиль программирования. Я не советую его использовать там, где легко можно обойтись без этого предложения.

Источник: ru.stackoverflow.com

Как вернуться в начало программы? — C (СИ)

Здравствуйте, подскажите пожалуйста можно ли без использования цикла и метки вернуться к началу программы?

Читайте также:
Как взломать вай фай на телефоне без программ

Код к задаче: «Как вернуться в начало программы?»

Листинг программы

main();

12 голосов , оценка 3.917 из 5

Похожие ответы

  1. Как вернуть два значения через return?
  2. Ввод арифметического действия не распознается программой как верный
  3. Как вернуть 2 значения из функции?
  4. Реализовать консольное игровое приложения «Пятнашки» (с чего начать, какую литературу и какие темы изучать?)
  5. Как начать чтения файла со второй строки ?
  6. Как правильно вернуть из функции сформированную в ней строку?
  7. Как передать в функцию строки и вернуть строку из функции?
  8. Как зациклить запрос на ввод пользователем верных данных?
  9. Как добавить пробел в начало строки
  10. Подскажите пожалуйста как перевести в чистой среде С, только начал учить и не получается(

Все виды студенческих работ на заказ

Как стать IT-специалистом с нуля | Что нужно знать и где учиться на айтишника?

Источник: studassistent.ru

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

if (att == 1) <
Console.WriteLine («Вы использовали обычную атаку»);
Console.WriteLine («Урон: » + attack);
Console.WriteLine («У врага осталось: » + (ehp — attack) + «хп»);
Console.WriteLine («Враг вас убил, попробуйте еще раз»)
(Здесь должен быть банальный рестарт программы.)
>

  • Вопрос задан более трёх лет назад
  • 5288 просмотров

8 комментариев

Простой 8 комментариев

yarosroman

Griboks

while(true) >
Griboks, бесконечный повтор идет))

Griboks

Дыметрей, всё верно. Что бы закончить пргограмму break;
Есть рекурсивный вариант

void Do() >

yarosroman

Дыметрей, а вы C# вообще, хоть немного знаете?

Роман, человек который «хоть немного» знает си шарп, не обязан знать всех основ)) Я просто искал то, что отбрасывает именно туда куда я помечу. Потом мне подсказали что это goto

yarosroman

Дыметрей, Тут вы не правы, вообще. это управляющие конструкции языка, можно не знать рефлексию, работу с сетью, (де)сериализацию, XAML, но это основа, это управляющие конструкции, их даже меньше 10 штук, это знать НАДО. и goto это ФУУУУУУУУ.

Читайте также:
Huawei freebuds 3 программа для настройки

Не понимаю все равно почему гото так плох. Он отбрасывает именно туда куда тебе надо. Если есть альтернатива, то. в принципе ей могу пользоватся, но все же почему не рекомендуют юзать гото?

Решения вопроса 1

tomnolane

профессиональный разработчик
есть три варианта:
1) использовать метку

M: if (att == 1) < //или тут M: Console.WriteLine («Вы использовали обычную атаку»); Console.WriteLine («Урон: » + attack); Console.WriteLine («У врага осталось: » + (ehp — attack) + «хп»); Console.WriteLine («Враг вас убил, попробуйте еще раз») goto M; //(Здесь должен быть банальный рестарт программы.) >

2) сделать функцию отдельно (рекурсию)
private void MyFunc(bool stop = false;) < if(stop) return; if (att == 1) < Console.WriteLine («Вы использовали обычную атаку»); Console.WriteLine («Урон: » + attack); Console.WriteLine («У врага осталось: » + (ehp — attack) + «хп»); Console.WriteLine («Враг вас убил, попробуйте еще раз») MyFunc(); //(Здесь должен быть банальный рестарт программы.) >>

3) использовать цикл for (бесконечный)
int damage = 100; for(;;) < if (att == 1) < Console.WriteLine («Вы использовали обычную атаку»); Console.WriteLine («Урон: » + attack); Console.WriteLine («У врага осталось: » + (ehp — attack) + «хп»); Console.WriteLine («Враг вас убил, попробуйте еще раз») >hp < damage ? break : continue; //(Здесь должен быть банальный рестарт программы.) >

upd
На свой лад накидал в некоторых местах условия выхода из метода/цикла. Поскольку по вашему коду не понятно, в каком случае должно всё это прекратится, поэтому условие, когда всё должно закончится — сами подкорректируйте. Главное, выше три способа, полностью отвечают на ваш заданный вопрос.

Ответ написан более трёх лет назад
Нравится 4 5 комментариев
Спасибо, goto m самое то

tomnolane

Дыметрей, goto — штука хорошая, но почему-то (не знаю почему) гуру программисты рекомендуют обходиться без него. И наверно дело не в том, что goto как-то неправильно работает, а скорее из-за стилистики написания кода, следования принципам ООП, MVVC и т.д. goto я сам не использую нигде и получается обходится без него. Хотя, если понадобится, я конечно воспользуюсь им, если это будет удобно и проще. P.S. goto M — M, это условная «переменная», можно использовать любую другую букву: А, S, B и т.д.

Читайте также:
Как сделать программу в pycharm

Tom Nolane, Про то что M условная я в курсе, а так еще раз спасибо)
было бы странно, если бы можно было бы исплользовать только М)

goto — штука хорошая, но почему-то [. ] рекомендуют обходиться без него

Обычно goto сильно усложняет код. Особенно, если goto из цикла вовне. Хотя, break и continue — это тоже обычные goto, но они нормальны, потому что это goto на определённую точку (конец или начало цикла).
Именно поэтому, если обычно нужен goto, то это почти всегда обозначает, что алгоритм не очень хорош («нехорошо пахнет»). Лучше переделать алгоритм так, чтобы goto был не нужен.
Но в некоторых случаях goto нужен. Например, в switch.

Дыметрей, рекомендую не использовать goto. Постарайтесь обойтись. Хотя бы используйте while (true), как говорил Griboks.

Ответы на вопрос 0
Ваш ответ на вопрос

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

c#

  • C#
  • +1 ещё

Допустима ли такая реализация асинхронной вью-модели?

  • 1 подписчик
  • 14 часов назад
  • 38 просмотров

Источник: qna.habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru