Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Оператор Switch | Вступ до Умовних Операторів
C++ Умовні оператори

book
Оператор Switch

Оператор switch також є однією з керуючих структур, яка спрощує прийняття рішень у ваших програмах на C++. Він забезпечує ефективний спосіб обчислення виразу і виконання різних блоків коду на основі значення цього виразу. Це може бути особливо зручно, коли ви маєте справу з великою кількістю умов розгалуження.

Передусім вона призначена для роботи з числовими значеннями, такими як цілі числа (int) і символи (char). І його синтаксис виглядає наступним чином:

cpp
switch (вираз)
{
case value1:
// Код, що виконується, коли вираз співпадає зі значенням value1
break;

case value2:
// Код, що виконується при співпадінні виразу зі значенням value2
break;

// За потреби можна додати більше випадків

default:
// Код для виконання, коли жодна з міток регістру не співпадає з виразом
}
h

switch

copy
switch (expression)
{
case value1:
// Code to execute when expression matches value1
break;

case value2:
// Code to execute when expression matches value2
break;

// More cases can be added as needed

default:
// Code to execute when none of the case labels match the expression
}
123456789101112131415
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed default: // Code to execute when none of the case labels match the expression }

Suppose you own a restaurant and want to provide a menu based on numerical codes listed. Here's the code representation of the menu items.

cpp

main

copy
#include <iostream>

int main()
{
// try to change the value
int menu_number = 1;

switch (menu_number)
{
case 1:
std::cout << "Pizza" << std::endl;
break;
case 2:
std::cout << "Burger with fries" << std::endl;
break;
case 3:
std::cout << "Pasta with meatballs" << std::endl;
break;
default:
std::cout << "We don`t have this in our menu" << std::endl;
break;
}
}
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Так, це можна зробити за допомогою простого оператора if, і це буде виглядати приблизно так:

cpp

main

copy
#include <iostream>

int main()
{
// try to change the value
int menu_number = 1;

if (menu_number == 1)
{
std::cout << "Pizza" << std::endl;
}
else if (menu_number == 2)
{
std::cout << "Burger with fries" << std::endl;
}
else if (menu_number == 3)
{
std::cout << "Pasta with meatballs" << std::endl;
}
else
{
std::cout << "We don`t have this in our menu" << std::endl;
}
}
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Він працюватиме так само та так, як очікується, але зазвичай краще використовувати оператор switch, оскільки він надає більш зрозумілий, читабельніший і, що найважливіше, легший для підтримки та масштабований спосіб керування цим видом потоку управління.

cpp

main

copy
#include <iostream>

int main()
{
// change the number and look how it affect the output
int number = 3;
switch (number)
{
case 1:
std::cout << '1' << std::endl;
case 2:
std::cout << '2' << std::endl;
case 3:
std::cout << '3' << std::endl;
case 4:
std::cout << '4' << std::endl;
case 5:
std::cout << '5' << std::endl;
break;
}
}
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Завдання

Swipe to start coding

  1. Write a switch statement that prints the corresponding day of the week based on the value of day_of_week.
  2. If the value is not a valid day, output The day doesn't exist in the console.

Рішення

cpp

solution

#include <iostream>

int main()
{
int day_of_week = 3;
switch (day_of_week)
{
case 1:
std::cout << "Monday" << std::endl;
break;
case 2:
std::cout << "Tuesday" << std::endl;
break;
case 3:
std::cout << "Wednesday" << std::endl;
break;
case 4:
std::cout << "Thursday" << std::endl;
break;
case 5:
std::cout << "Friday" << std::endl;
break;
case 6:
std::cout << "Saturday" << std::endl;
break;
case 7:
std::cout << "Sunday" << std::endl;
break;
default:
std::cout << "This day doesn't exist" << std::endl;
}
}
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 6
#include <iostream>

int main()
{
int day_of_week = 9;
switch (___)
{
case _:
std::cout << "Monday" << std::endl;
___;
// your code here

case 6:
std::cout << "Saturday" << std::endl;
break;
case 7:
std::cout << "Sunday" << std::endl;
___;
default:
___
break;
}
}

Запитати АІ

expand
ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt