Как сохранить значения для каждого if

126
05 июня 2021, 23:20

У меня есть переменная id, мне нужно сохранить ее значения и в тоже время выполнять условия.

Дело в том что мне нельзя использовать еще один цикл, но при этом я хочу проверить каждый if как будто они получили одинаковое значение id

int id = 2,
     a = 0;
for (;;) {
   switch (a) {
     case 1:
     {
        if (id != 0) // вначале должно выполнится это условия полностью
        {
           ServSock[id]; 
           id--;
           continue;
        }
        break;
     }
     case 2:
     {
        if (id != 0) // теперь это, но к сожалению id уже равен 0 это БЕДА!
        {
           ServSock[id]; 
           id--;
           continue;
        }
     }
     break;
   }
 a++; 
}

Пытался чет с двумя переменными сделать, но тогда ServSock[id] будет с разными переменными типа ServSock[id2], ServSock[id3] и это ужасно.

Что я пытаюсь сделать

я хочу сделать вот это

for (;;)
{
 for (i = 0; i < id; i++)
 {
     ServSock[i];
 }
 for (i = 0; i < id; i++)
 {
     ServSock[i];
 }
}

Только без двух лишних циклов внутри цикла и мне нужно что бы ServSock[i]; был таким ServSock[id];

Answer 1

Можно так

i = 0;
for (;;) {
  i--;
  if (i < 0)
    i = id - 1;
  ServSock[i];
}

В свете

Неудобно читать когда кода много

Предлагаю написать так

void doLoop(int id) {
  for (int i = 0; i < id; i++) {
     ServSock[i];
  }
}
for (;;) {
  doLoop(id);
  doLoop(id);
}
READ ALSO
Преобразовать углы Эйлера в полряные координаты и обратно

Преобразовать углы Эйлера в полряные координаты и обратно

Есть задача рисовать объекты на земной поверности с помощью Qt5 и OpenGLПри этом систему координат, в которой находятся эти объекты можно описать...

106
Что такое recv vs recvfrom и send vs sendto?

Что такое recv vs recvfrom и send vs sendto?

send, sendto, и sendmsg используются для пересылки сообщений в другой сокетsend можно использовать, только если сокет находится в состоянии соединения,...

86
Сортировка в Jquery по условию

Сортировка в Jquery по условию

Есть выпадающий список, в некоторых данных списка есть на конце слова (не действует в 2019)

116
Ошибка при подключении к базе Postgress

Ошибка при подключении к базе Postgress

В моем проекте мне нужно использовать Postgres базу, до этого момента небыло опыта работы с такой базой, настроил субд на компе все работаетПробую...

81