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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 17:37   #1
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию оператор switch

как я понял оператор switch это тот же if но зачем он нужен ? чем он лучше if ведь в нем нельзя задать такое
if (x>30)
y=70
а можно только так
switch(x){
case 30:{// он проверяет равно ли 30 иксу и если да, то , но не проверяет х больше 30
y=70;}}
зачем этот оператор(switch)?
aank10 вне форума Ответить с цитированием
Старый 31.05.2011, 17:52   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
  /* Tell what season it falls into */
  switch (month)
  {
     case 12:
     case 1:
     case 2:
        printf("month %d is a winter month\n", month);
        break;

     case 3:
     case 4:
     case 5:
        printf("month %d is a spring month\n", month);
        break;

     case 6:
     case 7:
     case 8:
        printf("month %d is a summer month\n", month);
        break;

     case 9:
     case 10:
     case 11:
        printf("month %d is a fall month\n", month);
        break;

     default:
        printf("month %d is not a valid month\n", month);
  }
через if ... else не так наглядно (да и компилятор оптимальнее соберёт такой код).
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 31.05.2011, 18:33   #3
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Он (switch) работает с константами, то есть это оператор выбора. А if - с условиями. Так что у них разные области применения.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 01.06.2011, 10:28   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

В сущьности switch - это переключатель. Примерно как радиокнопка. Задаём значение константы и переходим на соответствующий обработчик.
Ему эквивалентна конструкция if(N == M){}, но при написании кучи if код получается не надёжным и чреват множествами ошибок. Хотя, если Вам больше нравится if, можете использовать его, ничего страшного не произойдёт. Код будет громоздким и не читабельным, только и всего.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оператор выбора Switch Fornarina Общие вопросы C/C++ 1 31.10.2010 12:56
Оператор выбора switch(C++) michal3003 Помощь студентам 2 06.09.2010 02:05
Cи++. Оператор switch. Помогите пожалуйста. Diamond2107 Помощь студентам 4 28.11.2009 18:12
Оператор switch. IgorArhangel Помощь студентам 4 16.01.2009 01:53