[C++] Оператор case - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[C++] Оператор case
DexT3R Дата: Воскресенье, 03.11.2013, 12:58 | Сообщение # 1
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
В данном уроке мы продолжим тему условий, и рассмотрим оператор case, который позволяет быстрее писать и исполнять код. Он применяется, когда вам нужно проверить некоторый диапазон значений, например:

Код
int month;
if(month == 1) cout << "Январь";
if(month == 2) cout << "Февраль";
if(month == 3) cout << "Март";
if(month == 4) cout << "Апрель";
if(month == 5) cout << "Май";
if(month == 6) cout << "Июнь";
if(month == 7) cout << "Июль";
if(month == 8) cout << "Август";
if(month == 9) cout << "Сентябрь";
if(month == 10) cout << "Октябрь";
if(month == 11) cout << "Ноябрь";
if(month == 12) cout << "Декабрь";

Тогда проще воспользоваться оператором switch - case:

Код
switch (month)
{
case 1:
         cout<<"Январь"
         break;
case 2:
         cout<<"Февраль"
         break;
case 3:
         cout<<"Март"
         break;
case 4:
         cout<<"Апрель"
         break;
case 5:
         cout<<"Май"
         break;
case 6:
         cout<<"Июнь"
         break;
case 7:
         cout<<"Июль"
         break;
case 8:
         cout<<"Август"
         break;
case 9:
         cout<<"Сентябрь"
         break;
case 10:
         cout<<"Октябрь"
         break;
case 11:
         cout<<"Ноябрь"
         break;
case 12:
         cout<<"Декабрь"
         break;
default:
         cout<<"Месяца с таким номером не существует";
         break;
}


Как вы могли видеть из примера выше, оператор case умеет проверять объекты только на равенство (==). Кроме того, если значение не попало в контролируемый вами диапазон, то в этом случае тоже можно произвести какие - нибудь действия, например вывести сообщение об ошибке.
Таким образом оператор switch - case имеет следующую сигнатуру:

Код
switch (переменная)
{
case значение1:
         операторы1;
case значение2:
         операторы2;
default:
         операторы 3;
}

Где переменная, это имя переменной значения которой мы хотим проверить, значение - это значение, на которое мы хотим проверить, а операторы это последовательность операторов, которую необходимо выполнить в этом случае.
Оператор break используется для того, чтобы после того, как условие выполнилось, не выполнились остальные операторы, например:

Код
int a = 1;
switch (a)
{
case 0:
         cout << 0;//не выполнится
case 1:
         cout << 1;//выполнится
case 2:
         cout << 2;//выполнится, потому что до него уже выполнилось условие
case 3:
         cout << 3;//выполнится, потому что до него уже выполнилось условие     
}

Выведет: 123
Если вас не устраивает такое поведения, то просто добавьте break; в конец каждого case.


НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
iMaddy Дата: Воскресенье, 03.11.2013, 14:48 | Сообщение # 2
Cheat-Master
Сообщений: 2855
Статус: Offline
Для новичков хорошо, но копипаст


Вопросами по сайту и так же игровому рынку (развод, невалидные товары, добавление в ЧС, проведение сделок)
не занимаюсь



DexT3R Дата: Воскресенье, 03.11.2013, 15:18 | Сообщение # 3
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
iMaddy, Мог бы и своими словами, но получится какая то фигня biggrin

НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
L0ney Дата: Вторник, 05.11.2013, 11:19 | Сообщение # 4
Боец
Сообщений: 181
Статус: Offline
Kukushka, для первого раза пойдет biggrin



Ни чего не продаю/покупаю.

С деньгами можешь купить положение, но не уважение
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
billienq1 [01:47]

staciah1 [01:15]

maksmovictimofej [00:18]

jamiedv6 [21:25]

billieds7 [20:51]

aprilez9 [15:57]

am9350450 [14:36]

dcvfre [11:04]

Sheroz [10:38]

dominiquevp60 [08:59]

derrickuy11 [05:48]

leannaaw60 [04:45]

nonaxn11 [23:52]