►Управление ходом программы с помощью команд ветвления...66

We use cookies. Read the Privacy and Cookie Policy

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

     if ( m > n )

      {

          /* 1-я последовательность операторов. Инструкции, которые должны быть выполнены, если m больше n */

      }

      else

      {

          /* 2-я последовательность операторов. Инструкции, которые нужно выполнить в противном случае */

      }

_________________

66 стр. Часть 1. Первое знакомство с С++

Прежде всего вычисляется логическое выражение m > n. Если его значение — true, программа выполняет первую последовательность операторов. Если же выражение ложно, управление передаётся второй последовательности. Оператор else не обязателен: если он опущен, С++ считает, что он существует, но является пустым.

«Если в текущей ветви оператора if имеется только одна инструкция, скобки использовать необязательно. Однако очень легко сделать ошибку, которую без скобок, определяющих структуру операторов, компилятор С++ обнаружить не сможет.»

[Атас!]

Поэтому намного безопаснее включать скобки всегда. Если друзья будут уговаривать вас не использовать скобки, не поддавайтесь!

Работу оператора if можно рассмотреть на следующем примере: 

      /* BranchDemo — введите два числа.  */

      /*                   Если первый аргумент больше, выполняем операторы первой ветви, если меньше — второй. */

      #include <cstdio>

      #include <cstdlib>

      #include <iostream>

      using namespace std ;

      int main( int argc , char* pszArgs[ ] )

      {  

                 setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */

                 /* вводим первый аргумент... */

                 int arg1 ;

                 cout << "Введите arg1: " ;

                 cin >> arg1 ;

                 /* ... второй */

                 int arg2 ;

                 cout << "Введите arg2: " ;

                 cin >> arg2 ;

                 /* теперь решаем, что делать: */

                 if ( arg1 > arg2 )

                 {

                                  cout << "Аргумент 1 больше, чем аргумент 2"

                                           << endl ;

                 }

                 else

                 {

                                  cout << "Аргумент 1 не больше, чем аргумент 2"

                                           << endl ;

                 }

                 /* Пауза для того, чтобы посмотреть на результат работы программы */

                 system( "PAUSE" ) ; return 0 ;

      }

__________________

67 стр. Глава 5. Операторы управления программой

Программа считывает два целых числа, вводимых с клавиатуры, и сравнивает их. Если выражение "arg1 больше arg2" истинно, то выполняется инструкция cout << "Аргумент 1 больше, чем аргумент 2 " ;. Если же нет, то управление переходит к последовательности операторов, соответствующей условию else: cout << "Аргумент 1 не больше , чем аргумент 2 " ;. Вот пример работы программы:

      Введите arg1: 5

      Введите arg2: 6

      Аргумент 1 не больше, чем аргумент 2

      Press any key to continue...