ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн

Логическое ИЛИ

Введем в нашу приключенческую игру новых персонажей — драконов, которые будут обитать на западных и восточных землях и ограничат свободное передви- жение нашего героя. Следующая программа, ADVENOR, с помощью операции ло- гического ИЛИ реализует нашу задумку:

// advenor.cpp

// применение операции логического ИЛИ #include <iostream> using namespace std;

#include <process.h>    // для exit()

#include <conio.h>        // для getche()

int main() {

Операция

Название

&&

Логическое И

||

Логическое ИЛИ

!

Логическое НЕ

char dir='a';

                int x=10, y=10;

                while( dir != '\r' )        //выход при нажатии Enter

                {

                cout << "\n\nВаши координаты: " << x << ", " << y;

                if( x<5 || x>15 )        //если x меньше 5 или больше 15

                               cout << "\nОсторожно – драконы!";

                               cout <<"\nВыберите направление (n,s,e,w): ";

                               dir = getche();          //выбор направления

                               switch(dir)

                               {

                               case 'n': y--; break;  // обновление координат

                               case 's': y++; break;

                               case 'e': x++; break;

                               case 'w': x--; break;

                               }                        // конец switch

                }                           // конец while

                return 0;

}                             // конец main()

 

Выражение x<5 || x>15

является истинным как в случае, если x меньше 5 (герой находится на западных землях), так и в случае, если x больше 15 (герой находится на восточных зем- лях). Аналогично предыдущей программе, логическая операция || имеет более низкий приоритет, чем операции отношения < и >, поэтому дополнительные скобки в выражении не требуются.

 

41