logo
ООП для Заоч / Пинчук Лозовская Программир на С

Void main()

{ double a;

printf ("a = "); scanf("%lf", &a);

if (a<0) printf ("a<0 \n");

else if (a==0) printf ("a == 0 \n");

else printf ("a > 0 \n");

}

Оператор багатоваріантного вибору реалізує точку множинного розгалуження алгоритму. Цей оператор має такий формат:

switch (S) { case C1: оператори; break;

case C2: оператори; break; .........................

[ default : оператори ]

};

S являє собою вираз, який може мати будь-який цілий тип (char, short, int, long, enum, bool). Константи С1, С2, повинні мати типи, які відповідають виразу S, називаються вони мітками варіанту. Якщо значення виразу S збігається з однією з міток варіанта, виконується перехід на мітку цього варіанту. Допоміжний оператор break завершує роботу оператора switch. Якщо значення виразу S не збігається з жодною міткою варіанта, виконується перехід на рядок default, якщо він присутній. Після цього робота оператора switch завершується.

Для того, щоб забезпечити виконання тільки одного з варіантів, передбачених у структурі switch, наприкінці кожного зі списків "оператори" необхідно записати оператор break. При відсутності цього оператора виконуються всі наступні варіанти, записані в тілі switch (за винятком варіанта default) до наступного оператора break.

Нижче наведено приклад використання оператора switch для обробки натискання клавіш 'y', 'n', Esc.

// Приклад 3

#include <syst.h>