/* Начинаем ввод очередной последовательности чисел */
accumulator = 0 ;
cout << "\nВведите очередную последовательность\n" ;
/* Бесконечный цикл */
for ( ; ; )
{
/* Введение очередного числа */
int value = 0 ;
cout << "Введите очередное число: " ;
cin >> value ;
/* Если оно отрицательное... */
if ( value < 0 )
{
/* ...выходим из цикла */
_________________
76 стр. Часть 1. Первое знакомство с С++
break ;
}
/* ...иначе добавляем число к общей сумме */
accumulator = accumulator + value ;
}
/* Вывод результата вычислений... */
cout << "\nОбщая сумма равна "
<< accumulator
<<"\n" ;
/* ... если накопленная общая сумма чисел последовательности не равна нулю, начинаем работать со следующей последовательностью */
} while ( accumulator != 0 ) ;
cout << "Программа завершена\n" ;
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ;
return 0 ;
}
►Инструкция выбора...77
Последняя управляющая инструкция эффективна, если существует необходимость выбора при ограниченном количестве возможных вариантов. Она похожа на усложнённую инструкцию if, которая вместо проверки одного условия анализирует множество разных возможностей:
switch ( выражение )
{
case c1 :
/* Переходим сюда, если выражение == c1 */
break ;
case c2 :
/* Переходим сюда, если выражение == c2 */
break ;
default :
/* Если ни одно условие не выполнено, переходим сюда */
}
Значением выражения должно быть целое число ( int, long или char ); c1, с2, с3 должны быть константами. Инструкция switch выполняется следующим образом: сначала вычисляется значение выражения, а затем оно сравнивается с константами, указанными после служебного слова case. Если константа соответствует значению выражения, то программа передаёт управление этой ветви. Если ни один вариант не подходит, выполняется условие default.
_________________
77 стр. Глава 5. Операторы управления программой
Рассмотрим для примера следующий фрагмент программы:
cout << "Введите 1, 2 или 3:" ;
cin >> choice ;
switch ( choice )
{
case 1 :
/* Обработка случая "1" */
break ;
case 2 :
/* Обработка случая "2" */
break ;
case 3 :
/* Обработка случая "3" */
break ;
default :
cout << "Вы ввели не 1, не 2 и не 3\n"
}
Ещё раз напомню, что инструкция switch эквивалентна усложнённой инструкции if ( с вложенными if-инструкциями ) ; однако, если рассматривается более двух-трёх случаев, структура switch оказывается нагляднее.
«Для выхода из инструкции switch необходимо использовать команды break, иначе управление будет переходить от одного случая к следующему.»
[Советы]
_________________
78 стр. Часть 1. Первое знакомство с С++
Часть 2. СТАНОВИМСЯ ФУНКЦИОНАЛЬНЫМИ ПРОГРАММИСТАМИ...79 ОГЛАВЛЕНИЕ
СОДЕРЖАНИЕ
Глава 6. СОЗДАНИЕ ФУНКЦИЙ...81
Глава 7. ХРАНЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТЕЙ В МАССИВАХ...92
Глава 8. ПЕРВОЕ ЗНАКОМСТВО С УКАЗАТЕЛЯМИ В С++...105
Глава 9. ВТОРОЕ ЗНАКОМСТВО С УКАЗАТЕЛЯМИ...117
Глава 10. ОТЛАДКА ПРОГРАММ НА С++...128
В этой части...
Выполнять операции сложения или умножения ( и даже логические операции ) — это одно, а писать настоящие программы — это нечто совсем иное. Из этой части вы узнаете о том, как стать настоящим программистом.