Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 18:32   #1
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
По умолчанию if and else if

Возможно ли этот кусочек как-то проще записать, при условии, что else if может еще иного раз повторяться?

Код:
if(Client.getList().size()>4 && Client.getList().size()<=8)  MyPanel.count = 2;  
     else if(Client.getList().size()>8 && Client.getList().size()<=12)  MyPanel.count = 3;
              else if(Client.getList().size()>12  && Client.getList().size()<=16)  MyPanel.count = 4;
              else if(Client.getList().size()>16 && Client.getList().size()<=20) MyPanel.count = 5;
              else if( Client.getList().size()>20) MyPanel.count = 6;
              else MyPanel.count = 1;
zhenya.ya вне форума Ответить с цитированием
Старый 28.10.2011, 19:53   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

В предположении, что интервалы идут сплошной полосой:
Код:
   ...
   const int N_MARGINS = 5 ;
   int i ;
   struct Margin {
      int min ;
      int count ;
   } ;

   Margin arrOfMargins[N_MARGINS] = { 
      { 4,  2} ,
      { 8,  3} , 
      {12,  4} ,
      {16,  5} ,
      {20,  6} 
   } ;

   for ( i = 0; i < N_MARGINS; i++ ) {
      if ( Client.getList().size() <= arrOfMargins[i].min ) 
         break ;
   }
   if ( i == 0 )
      MyPanel.count = 1 ;
   else
      MyPanel.count = arrOfMargins[i-1].count ;
   ...
Added 19:36 CET
Если count-ы идут подряд, можно обойтись просто одномерным массивом, а не структурой.

Последний раз редактировалось Vago; 28.10.2011 в 21:36.
Vago вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск