Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_1_метод_указания прога.doc
Скачиваний:
3
Добавлен:
03.11.2018
Размер:
301.57 Кб
Скачать

Оператор switch Пример 1. Печать событий в зависимости от года

int year; { cin >> year; switch (year) { case -500: case -400: cout << “древнегреческий абак”;break; case 480: case 490: case 500: cout << “первые записи в 10c/c”; break; case 1642: cout << “машина Б.Паскаля”; break; default: cout << “все остальное”; } }

Пример 2. Распознавание вводимых символов

char symbol; cin >> symbol; switch (symbol) {case ‘0’: case ‘1’: case ‘2’: case ‘3’: cout << “Это цифра”;break; case ‘a’: case ‘b’: case ‘c’: cout << “Это строчная буква”; break; case ‘A’: case ‘B’: case ‘C’: cout << “Это прописная буква”;break; case \xa: case \xd: case \x1a: cout << “Это управляющий символ”; break; default: cout << ”Это другой символ”; };

Пример 3. Печать сообщений о работе программы

char err;

cin >> err; switch (err) { case 0: cout << ”Нормальное завершение программы”;break; case 2: case 4: case 6: cout << ”Ошибка при работе с файлом”;break; case 7: case 9: cout << ”Ошибка с кодом” << err; break; default: cout << ”Код ошибки =” << err; }

Пример 4. Селектор перечислимого типа

Обратите внимание на обеспечение вывода значения переменной перечислимого типа:

enum Season {Winter, Spring, Summer, Autumn};

Season p1; int i; cin >> i; switch (i ) {case 0: p1= Winter; break; case 1: p1= Spring; break; case 2: p1= Summer; break; case 3: p1= Autumn; break; } …………. switch ( p1) {case Winter: cout << ”Winter”; break; case Spring: cout << “Spring”; break; case Summer: cout << “Summer”; break; case Autumn: cout << “Autumn”; break; }

Пример 5. Селектор логического типа

Пример 5.1. Поиск максимального из двух чисел с использованием оператора выбора

//program max2_2; #include <iostream.h>

#include <conio.h>

int main () {double X,Y, Max; cout << "Input X <> Y: "; cin >> X>> Y; switch ( X > Y) { case 1: Max = X; break; case 0: Max = Y; break; } cout << "Max= " << Max <<endl; _getch();

return 0;

}

Пример 5.2. Вычисление максимального из значений двух выражений

//program max2_3; // max (x+y+z, xyz)

#include <iostream.h>

#include <conio.h>

int main () {double X,Y, Z, Max, a, b; cout << "Input X, Y, Z: "; cin >> X>> Y >> Z; a= X+Y+Z; b= X*Y*Z; switch ( a > b) { case 1: Max = a; break; case 0: Max = b; break; } cout << "Max= " << Max <<endl; _getch();

return 0;

}

Пример 5.3. Поиск максимального из трех чисел (еще один вариант, остальные – в лекции №7):

//program max3_5; #include <iostream.h>

#include <conio.h>

int main () {double X,Y, Z, Max; cout << "Input X, Y, Z: "; cin >> X>> Y >> Z; switch (X > Y) { case 1: Max = X; break; case 0: Max = Y; break; } switch (Max > Z) { case 1: Max = Z; break; case 0: break; } cout << "Max= " << Max <<endl; _getch();

return 0;

}

Пример 6. Определение нажатой управляющей клавиши:

//proba6

#include <stdio.h> #include <conio.h> int main() { int key; printf ("\n najmite ctrelku::\n "); key = getch(); key = getch(); switch (key) { case 77: printf ("strelka vpravo\n "); break; case 75: printf ("strelka vlevo\n "); break; case 72: printf ("strelka vverx\n "); break; case 80: printf ("strelka vniz\n "); break; default: printf ("ne strelka\n "); break; }

_getch();

return 0;

}

Лаб.раб.1. Линейные и разветвленные программы (физ.эл.) 29