Re: Вопрос по switch - case
От: HeaveN Россия  
Дата: 12.10.03 06:26
Оценка:
Здравствуйте, WiseAlex, Вы писали:

WA>как это реализовать? Решение необходимо типовое, т.к. таких switch много и в разных фунциях и классах.


Можно так:

#define C1_FINISHED 0x01
#define C2_FINISHED 0x02
#define C3_FINISHED 0x04
#define C4_FINISHED 0x08
#define C5_FINISHED 0x10
#define C6_FINISHED 0x20
#define C7_FINISHED 0x40
#define C8_FINISHED 0x80

BYTE flags = 0;

while (){
...
switch(a)
{
      case c1:...
      flags |= C1_FINISHED;
      break;
      case c2:...
      flags |= C2_FINISHED;
      break;
      ...
      default:
}

if (flags == 0xFF)
{
     // all variants finished
         ...
}

flags = 0;


Соответственно, если у типа enum больше значений, то можно взять WORD или DWORD.
... << RSDN@Home 1.1 beta 2 >>
Нет такого закона, что человеку летать нельзя...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.