Язык программирования C++. Вводный курс


Инструкция switch


Длинные цепочки инструкций if-else, наподобие приведенной в конце предыдущего раздела, трудны для восприятия и потому являются потенциальным источником ошибок. Модифицируя такой код, легко сопоставить, например, разные else и if. Альтернативный метод выбора одного их взаимоисключающих условий предлагает инструкция switch.

Для иллюстрации инструкции switch

рассмотрим следующую задачу. Нам надо подсчитать, сколько раз встречается каждая из гласных букв в указанном отрывке текста. (Общеизвестно, что буква e– наиболее часто встречающаяся гласная в английском языке.) Вот алгоритм программы:

1.      Считывать по одному символу из входного потока, пока они не кончатся.

2.      Сравнить каждый символ с набором гласных.

3.      Если символ равен одной из гласных, прибавить 1 к ее счетчику.

4.      Напечатать результат.

Написанная программа была запущена, в качестве контрольного текста использовался раздел из оригинала данной книги. Результаты подтвердили, что буква e действительно самая частая:

aCnt: 394

eCnt: 721

iCnt: 461

oCnt: 349

uCnt: 186

 

Инструкция switch

состоит из следующих частей:

·                  ключевого слова switch, за которым в круглых скобках идет выражение, являющееся условием:

char ch;

while ( cm >> ch )

    switch( ch )

·                  набора меток case, состоящих из ключевого слова case и константного выражения, с которым сравнивается условие. В данном случае каждая метка представляет одну из гласных латинского алфавита:

case 'a':

case 'e':

case 'i':

case 'o':

case 'u':

·                  последовательности инструкций, соотносимых с  метками case. В нашем примере с каждой меткой будет сопоставлена инструкция, увеличивающая значение соответствующего счетчика;




Начало  Назад  Вперед



Книжный магазин