Как вызвать 2 раза break; внутри switch?

118
30 мая 2021, 23:40

Не могу красиво выйти из цикла используя break внутри switch, успевает сработать только один раз. пробовал еще return; но он выкидывает в такую далину куда мне не надо.

for (;;){
          switch (a)
          {
            case 0: a++; break;
            case 1: a++; break;
            case 2: a++; break;
            case 3: a++; break;
            case 4: break; break; // печально но не работает :(
            default:
                break;
          }
        }
Answer 1
for (;;)
{
  switch (a)
  {
    case 0: a++; break;
    case 1: a++; break;
    case 2: a++; break;
    case 3: a++; break;
    case 4:      goto DONE;
  }
}
DONE: ; // точка с запятой нужна только если потом идёт фигурная скобка
Answer 2

Лучше сразу указать условие выхода из цикла:

while (a != 4)
{
    switch (a)
    {
    case 0: a++; break;
    case 1: a++; break;
    case 2: a++; break;
    case 3: a++; break;     
    }
}

Или вообше без switch :

for (;;)
{
    if (a == 4) break;  
    ++a;
}
READ ALSO
При работе перепоняется vector: “vector subscript out of range”

При работе перепоняется vector: “vector subscript out of range”

Около месяца изучаю C++, несколько дней пытаюсь отладить кодОшибка, наверное, очевидная для бывалых, всё никак не находится

105
Вывод значения переменной из функции

Вывод значения переменной из функции

Хочу, чтобы выводилось значение переменной aЕсли введенное число больше 5 - вывести 5, иначе 4

93
GDB процесс дебага

GDB процесс дебага

В Microsoft Visual Studio есть встроенный дебаггер, который позволяет дизассемблировать выполняемый файл и ходить по строчкам ассемблера пошагово

104
Анимация ухода сайтбара

Анимация ухода сайтбара

Есть сайтбар , его выдвижение и задвижение нужно анимировать , но с помощью свойства animation получается только первое (анимация выдвижения)...

116