powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / switch ...case
15 сообщений из 15, страница 1 из 1
switch ...case
    #35711019
ertytr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Скажите можно ли написать короче:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
switch(a)
{
case  1 :
 b= 10 ;
break;
case  2 :
b= 10 ;
 break;
case  3 :
b= 10 ;
break;
case  4 :
b= 11 ;
break;
}
что-нибудь типа case 1..3???
...
Рейтинг: 0 / 0
switch ...case
    #35711031
Алексей Морозов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
switch(a)
{
case  1 :
case  2 :
case  3 :
 b= 10 ;
 break;
case  4 :
 b= 11 ;
} 



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
switch ...case
    #35711033
Dihotom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ertytr,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
switch (a)
{
    case  1 :
    case  2 :
    case  3 :
        b =  10 ;
        break;
    case  4 :
        b =  11 ;
        break;
}

А еще можно посмотреть синтаксис в MSDN.
...
Рейтинг: 0 / 0
switch ...case
    #35711108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
#define MYSWITCH ....
...
Рейтинг: 0 / 0
switch ...case
    #35711163
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Код: plaintext
1.
((a ==  1 ) || (a ==  2 ) || (a ==  3 )) ? b =  10  :
a ==  4  ? b =  11  : ; 
...
Рейтинг: 0 / 0
switch ...case
    #35711238
Maykie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ertytr,


Код: plaintext
1.
2.
int array[ 4 ] ={ 10 , 10 , 10 , 11 };
assert(a <  4 );
b = array[a]
...
Рейтинг: 0 / 0
switch ...case
    #35711375
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maykie
Код: plaintext
1.
2.
int array[ 4 ] ={ 10 , 10 , 10 , 11 };
assert(a <  4 );
b = array[a]

О нет, только не так. О переменной а ничего не известно. А вдруг а < 0?
...
Рейтинг: 0 / 0
switch ...case
    #35711661
Slava Semushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ertytrчто-нибудь типа case 1..3???

В GCC можно так: 1 ... 3

См.: http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Case-Ranges.html#Case-Ranges
...
Рейтинг: 0 / 0
switch ...case
    #35711699
Алексей Морозов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Borland C++ 5.5 можно написать и скомпилировать вот такое:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#include <windows.h>

void main() {
  int aa= 2 ;
  switch(aa) {
    case  1 , 2 , 3 :
      MessageBox( 0 ,"*","*", 0 );
  }
}



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
switch ...case
    #35712198
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Морозов,
Алексей Морозов
А в Borland C++ 5.5 можно написать и скомпилировать вот такое:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#include <windows.h>

void main() {
  int aa= 2 ;
  switch(aa) {
    case  1 , 2 , 3 :
      MessageBox( 0 ,"*","*", 0 );
  }
}




А Вы запускать это пробовали?
В BCB 5.0 это работает как:
Код: plaintext
1.
2.
3.
  ...
  case  3 :
  ...
, что не так интересно и не то, что хотел топикстартер.
...
Рейтинг: 0 / 0
switch ...case
    #35712246
Код: plaintext
1.
b =  10  + a /  4 ;
...
Рейтинг: 0 / 0
switch ...case
    #35714090
Maykie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MozokMaykie
Код: plaintext
1.
2.
int array[ 4 ] ={ 10 , 10 , 10 , 11 };
assert(a <  4 );
b = array[a]

О нет, только не так. О переменной а ничего не известно. А вдруг а < 0?
я предполагал что она unsigned
...
Рейтинг: 0 / 0
switch ...case
    #35714329
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maykieя предполагал что она unsigned

"Папа Карло дал Буратино 4 яблока. Тот 2 отдал Мальвине, а 1 съел сам. Вопрос: сколько у него осталось яблок? Ответ: неизвестно, ведь нигде не указано, сколько яблок у него было сначала. Мораль: инициализируйте переменные" (С) КПИ, лекции по информатике
.
...
Рейтинг: 0 / 0
switch ...case
    #35715765
readThinks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ertytr,

а я могу и так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
b =  0 ;
switch(a)
{
case  4 :
    b =  1 ;
case  1 : case  2 : case  3 :
    b +=  10 ;
}
хотя вариант:
Код: plaintext
1.
b =  10  + a /  4 ;
мне кажется, самый адекватный задаче :)
а для массива нужно указать static int array[4]...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
switch ...case
    #38017638
And96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как сделать case на кнопку mouse1 ?? (c++)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / switch ...case
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]