![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Листинг 2.2
// Названия нечетных целых цифр не меньше заданной #include “stdafx.h” #include < iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { int ic; setlocale(LC_ALL, " Russian"); cout < < “\nВведите любую десятичную цифру: ”; cin > > ic; cout < < endl; switch(ic) { case 0: case 1: cout < < “один, ”; case 2: case 3: cout < < “три, ”; case 4: case 5: cout < < “пять, ”; case 6: case 7: cout < < “семь, ”; case 8: case 9: cout < < “девять. ”; // Выход из переключателя break; default: cout < < “Ошибка! Это не цифра! \n” // Конец переключателя } getch(); return 0; }
В результате двух выполнений программы:
Введите любую десятичную цифру: 4 < Enter> пять, семь, девять.
Введите любую десятичную цифру: z < Enter> Ошибка! Это не цифра!
Рисунок 2.8 - Фрагмент диаграммы деятельности UML, описывающей действие оператора switch в языке C++
Кроме сказанного о возможностях переключателя, приведенная программа иллюстрирует действие оператора break. С его помощью выполняется выход из переключателя. Если поместить операторы break после вывода каждой цифры, то программа будет печатать название только одной нечетной цифры. Несмотря на то, что в формате переключателя после конструкции switch() приведен составной оператор, это не обязательно. После switch() может находиться любой оператор, помеченный с использованием служебного слова case. Однако без фигурных скобок такой оператор может быть только один, и смысл переключателя теряется: он превращается в разновидность сокращенного условного оператора. Совместно с оператором break синтаксис переключателя имеет следующий вид:
switch(Выражение) { case Константа_1: Операторы_1; break; case Константа_2: Операторы_2; break; ... case Константа_n: Операторы_n; break; default: Операторы_(n+1); }
его действия можно описать с помощью фрагмента блок-схемы алгоритма, изображенного на рис. 2.9.
Рисунок 2.9 - Фрагмент диаграммы деятельности UML, описывающей действие оператора switch совместно с оператором break в языке C++
Пример 2.3. Составить блок-схему алгоритма и программу с использованием переключателя и вывести наименование времени года по вводимому с клавиатуры номеру месяца от 1 до 12. Составим UML-диаграмму деятельности определения наименования времени года по вводимому с клавиатуры номеру месяца (рис. 2.10).
Рисунок 2.10 - UML-диаграмма деятельности для задачи вывода названия времени года по номеру месяца На UML-диаграммах деятельности логическое отношение И в условии обозначается с помощью связки and, логическое отношение ИЛИ - с помощью связки or, а логическое отрицание НЕ - c помощью связки not. По составленной диаграмме может быть написана программа решения поставленной задачи.
|