Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования (пособие).doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
965 Кб
Скачать
☆

1.4.2Исключение операторов break из switch

После каждой группы операторов поставлен оператор break. Чтобы понять, какова его роль, уберем некоторые из них.

switch(mark) {

case 5 :

cout << "Отлично\n";

//break;

case 4 :

cout << "Хорошо\n";

//break;

case 3 :

cout << "Удовлетворительно\n";

//break;

case 2 :

cout << "Неудовлетворительно\n";

break;

case 1 :

cout << "Кол\n";

break;

default :

cout << "Нет такой оценки\n";

break;

}

Результат работы программы при вводе оценки 4 представлен на рис. 2. Видно, что выполнятся все операторы до первого break. Здесь программа стала работать неправильно, но в некоторых случаях можно специально убирать некоторые breakи, чтобы упростить написание программы. Рассмотрим программу, которая проверяет, является ли буква гласной; мы уже решили эту задачу с помощью оператора if.

Рисунок 2. Работа switch-case при отсутствии break

Теперь рассмотрим, как можно написать эту программу с помощью оператора switch:

char letter;

cout << "Введите букву: ";

cin >> letter;

switch (letter) {

case 'a':

case 'e':

case 'i':

case 'o':

case 'u':

case 'y':

cout << "Гласная\n"; break;

default :

cout << "Согласная\n";

}

1.4.3Реализация простого консольного меню

Конструкцию switch-case можно использовать для реализации простого консольного меню (рис. 3-4).

Рисунок 3. Консольное меню

Рисунок 4. Выбор пользователя

Для выхода из программы будем использовать функцию exit(), расположенную в библиотеке stdlib.h. В качестве аргумента в функцию нужно передать так называемый код возврата, равный 0, если выход штатный, и 1 – аварийный. Эти константы объявлены под именами EXIT_SUCCESS и EXIT_FAILURE соответственно.

int choice;

cout << "Что Вы хотите?\n";

cout << "1 - Поздороваться\n";

cout << "2 - Попрощаться\n";

cout << "0 - Выйти\n";

cout << "Ваш выбор - ";

cin >> choice;

switch(choice) {

case 1 :

cout << "Привет!\n"; break;

case 2 :

cout << "Пока!\n"; break;

case 0 :

exit(EXIT_SUCCESS); break;

default :

cout << "Неправильный выбор\n"; break;

}

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

  1. Опишите синтаксис условного оператора switch-case.

  2. Приведите пример использования оператора switch-case.

  3. Когда следует использовать оператор switch-case?

  4. Как реализовать консольное меню при помощи оператора switch-case?

  5. Объясните роль оператора break в конструкции switch-case.

  6. Приведите пример, когда отсутствие оператора break в конструкции switch-case приводит к неправильной работе программы.

  7. Приведите пример, когда операторы break исключаются из конструкции switch-case специально для упрощения программного кода.

Тема 1.5. Символы и строки

1.5.1Объявление и вывод строк

Несколько символов, идущих подряд, образуют строку. Наиболее удобный способ работы со строками в языке C++ – это использование класса string. Для корректной работы с ним следует подключить библиотеку <string>. Для объявления строки необходимо указать тип string и имя строки:

string my_string;

string name;

Значение строки можно присвоить при объявлении:

string str = "Математика – царица наук.";

Вывести строку на экран можно следующими способами:

cout << str << endl;

cout << "Заседание продолжается!" << endl;

cout << 'H'<<'e'<<'l'<<'l'<<'o'<<'!' <<endl;