Задать вопрос
jerichoussr
@jerichoussr
Лентепрофессионал

Как сделать переход в предыдущее меню?

Всем привет. Помогите неучу. Мне нужно реализовать замену goto, но не могу понять как это сделать через do
У меня есть вот такая структура

do {
Write-Host "1."
Write-Host "2."
Write-Host "3."
Write-Host "4."
Write-Host "5."
Write-Host "0.Выход"
Write-host
$choice1 = Read-Host "Выберите пункт меню"

do {
Switch ($choice_1){
1{
Write-Host "1."
Write-Host "2."
Write-Host "0. Предыдущее меню"
$choice_action = Read-Host Действие
Switch ($choice_2)
{1{}
2{}
0{}
}
}
5{find_user}
0{breake}
}

} until ($choice_2 = 0)
} until ($choice_1 = 0)
exit

Как здесь реализовать возврат к начальному меню choice_1
При такой конструкции на повторе получается вызвать меню choice_2, а вот выйти на choice_1 никак не выходит.
Подскажите, что делать, может я лишнего чего впихнул.
Спасибо
  • Вопрос задан
  • 460 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Foolleren
@Foolleren
Компас есть, копать не люблю...
лучше без идеологии GOTO
но если никак то:
есть такие замены
если надо пропустить часть действий во вложенном цикле снизу вводить переменную и простыню из IF
если делаете прыжок в начало цикла то continue
если надо подняться на один уровень цикла то break
если уровней больше то надо использовать break label
а многоуровневые меню лучше реализовать через функцию
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы