Главная | Случайная

КАТЕГОРИИ:






Это цифра один или два

Это неизвестная цифра

Для того, чтобы после выполнения нужной ветви оператора switch другие операторы не выполнялись, каждая ветвь должна заканчиваться оператором break:

Int i;

printf(“\nВведите цифру:”);

scanf(“%d”, &i);

Switch (i)

{

case 0: printf(“\nЭто цифра ноль”);

Break;

case 1: case 2: printf(“\nЭто цифра один или два”);

Break;

default: printf(“\nЭто неизвестная цифра”);

}

В этом случае после ввода цифры 0 на экран будет выведено только одно сообщение:

Это цифра ноль

Если в каждой ветви switch стоит не по одному, а по нескольку операторов, то необходимо брать их в фигурные скобки:

Switch (селектор)

{

case метка-1:

{

Оператор;

Оператор;

Оператор;

Break;

}

case метка-2:

{

Оператор;

Оператор;

Break;

}

. . . . . . . . . . . . . . . . .

default:

{

Оператор;

Оператор;

}

}

Для улучшения читаемости программы необходимо использовать сдвиг операторов.

Можно использовать вложенные операторы switch, при этом в разных операторах могут быть одинаковые метки вариантов:

Switch (n)

{

case 0: оператор;

Break;

case 1: switch (m)

{

case 0: оператор;

Break;

case 1: оператор;

Break;

default: оператор;

}

case 3: оператор;

Break;

. . . . . . . . . . . . . . . . .

default: оператор;

}

Пример:по заданному номеру месяца года определить количество дней в нем.
В этом переключателе всего три ветви:

#include <stdio.h>

#include <conio.h>

#include <math.h>

Int main()

{

Int month;

printf(“\nВведите номер месяца: ”);

scanf(“%d”, &month);

Switch (month)

{

case 1: case 3: case 5:

case 7: case 8: case 10:

case 12: printf(“\n31 день”);

Break;

case 4: case 6: case 9:

case 11: printf(“\n30 дней”);

Break;

case 2: printf(“\n28 дней”);

Break;

default: printf(“\nТакого месяца нет\n”);

}

Return 0;

}

<== предыдущая лекция | следующая лекция ==>
Float x, y, s_left, s_right, alfa, sin_alfa, segment; | Часто встречающиеся ошибки программирования
vikidalka.ru - 2015-2017 год. Все права принадлежат их авторам!