// 2-е усовершенствование.

#include

#include

using namespace std;

int main()

{

 int magic; // магическое число

 int guess; // вариант пользователя

 magic = rand(); // Получаем случайное число.

 cout << "Введите свой вариант магического числа: ";

  cin >> guess;

 if(guess == magic) {

  cout << " ** Правильно **\n";

  cout << magic << " и есть то самое магическое число.\n";

 }

 else {

  cout << "...Очень жаль, но вы ошиблись.";

  if(guess > magic) cout <<"Ваш вариант превышает магическое число.\n";

  else cout << " Ваш вариант меньше магического числа.\n";

 }

 return 0;

}

Конструкция if-else-if

Очень распространенной в программировании конструкцией, в основе которой лежит вложенная if-инструкция, является "лестница" if-else-if. Ее можно представить в следующем виде.

if(условие)

 инструкция;

else if(условие)

 инструкция;

else if(условие)

 инструкция;

.

.

.

else

 инструкция;

Здесь под элементом условие понимается условное выражение. Условные выражения вычисляются сверху вниз. Как только в какой-нибудь ветви обнаружится истинный результат, будет выполнена инструкция, связанная с этой ветвью, а вся остальная "лестница" опускается. Если окажется, что ни одно из условий не является истинным, будет выполнена последняя else-инструкция (можно считать, что она выполняет роль условия, которое действует по умолчанию). Если последняя else-инструкция не задана, а все остальные оказались ложными, то вообще никакое действие не будет выполнено.

"Лестница" if-else-ifэто последовательность вложенных if-else-инструкций.

Работа if-else-if - "лестницы" демонстрируется в следующей программе.

// Демонстрация использования "лестницы" if-else-if.

#include

using namespace std;

int main()

{

 int x;

 for(x=0; x<6; x++) {

  if(x==1) cout << "x равен единице.\n";

  else if(x==2) cout << "x равен двум.\n";

  else if(x==3) cout<< "x равен трем.\n";

  else if(x==4) cout << "x равен четырем.\n";

  else cout << "x не попадает в диапазон от 1 до 4.\n";

 }

 return 0;

}

Результаты выполнения этой программы таковы.

х не попадает в диапазон от 1 до 4.

х равен единице,

х равен двум,

х равен трем,

х равен четырем.

х не попадает в диапазон от 1 до 4.

Как видите, последняя else-инструкция выполняется только в том случае, если все предыдущие if-условия дали ложный результат.

Цикл for

Цикл forсамый универсальный цикл C++.

В главе 2 мы уже использовали простую форму цикла for. В этой главе мы рассмотрим этот цикл более детально, и вы узнаете, насколько мощным и гибким средством программирования он является. Начнем с традиционных форм его использования.

Итак, общий формат записи цикла for для многократного выполнения одной инструкции имеет следующий вид.

for(инициализация; выражение; инкремент) инструкция;

Если цикл for предназначен для многократного выполнения не одной инструкции, а программного блока, то его общий формат выглядит так.

fоr (инициализация; выражение; инкремент)

{

 последовательность инструкций

}

Перейти на страницу:

Все книги серии Изучайте C++ с профессионалами

Похожие книги