По теме лабораторной работы. Переключатель является специальным случаем условного оператора и позволяет осуществлять многовариантный выбор

Переключатель является специальным случаем условного оператора и позволяет осуществлять многовариантный выбор, заменяя группу вложенных операторов if-else. В общем случае от имеет следующий формат:

switch (expression)

{

case const-expression: statements

default: statements

case const-expression: statements

},

где любая case- или default-часть может отсутствовать, а также могут быть опущены statements в любой из этих частей. Здесь switch, case и default - ключевые слова языка Си; expression - произвольное выражение целого типа; const-expressi- on - константное выражение, обрабатываемое в период компиляции программы; state- ments - группа операторов. Семантика. Предварительно вычисленное значение выражения в круглых скобках сравнивается с const-expression во всех вариантах case и управление передается той группе операторов statements, которая соответствует найденному значению. В том случае, когда значение ни одного из константных выражений не совпало со значением выражения expression, выполняются операторы, связанные с меткой default, а при ее отсутствии - оператор, непосредственно следующий за оператором switch. Никакие два константные выражения в одном операторе-переключателе не могут иметь одинаковых значений. В следующем примере значение переменной operation, имеющей тип char, определяет ту арифметическую операцию, которая должна быть выполнена над переменными x и y:

switch (operation)

{

case '+':

z = x + y;

break;

case '-':

z = x - y;

break;

case '*':

z = x*y;

break;

case '/':z = x/y;}

Ключевое слово case вместе с const-expression служат просто меткой соответствующих операторов, и если будут выполняться операторы для некоторого варианта case, то далее будут выполняться операторы всех последующих вариантов до тех пор, пока не встретится оператор break (см. ниже). Поэтому если нескольким различным значениям выражения expression должны соответствовать одни и те же действия, можно воспользоваться следующей конструкцией:

switch (key)

{

case '0':

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

printf ("Это цифра");

}

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

#include <iostream>

using namespace std;

void playgame()

{

cout << "Play game called";

}

void loadgame()

{cout << "Load game called";

}

void playmultiplayer()

{

cout << "Play multiplayer game called";

}

int main()

{

int input;

cout<<"1. Play game\n";

cout<<"2. Load game\n";

cout<<"3. Play multiplayer\n";

cout<<"4. Exit\n";

cout<<"Selection: ";

cin>> input;

switch (input) {

case 1:

playgame();

break;

case 2:

loadgame();

break;

case 3:

playmultiplayer();

break;

case 4:

cout<<"Thank you for playing!\n";

break;

default:

cout<<"Error, bad input, quitting\n";

break;}

cin.get();}

Задания для лабораторной работы:

1.

2.

3.

4.

5.

6.

7.

8.

9.

Контрольные вопросы:

1.Какие алгоритмы Вы знаете?

2.Что такое исполнители алгоритмов?

3.Что такое ветвление и цикл? Что такое переменная? Какие бывают типы переменных?

4.Что такое метод последовательной детализации?

5.Что такое транслятор, компилятор и интерпретатор?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: