ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн
Операция логического И
Давайте рассмотрим, каким образом логические операции соединяют булевы вы- ражения в C++. В следующем примере, ADVENAND, логическая операция использу- ется для усложнения приключенческой игры, созданной в программе ADSWITCH. Теперь мы закопаем сокровище в точке с координатами (7, 11) и попробуем заста- вить нашего героя отыскать его.
// advenand.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' )
{
cout << "\nВаши координаты: " << x << ", " << y;
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;
}
if( x==7 && y==11 ) // если x равно 7 и y равно 11
{
cout <<"\nВы нашли сокровище!\n";
exit(0); // выход из программы
}
} //конец switch
return 0;
} //конец main()
Ключевым моментом данной программы является выражение if( x==7 && y==11 )
Условие, участвующее в этом выражении, будет истинным только в том случае, когда значение x будет равно 7, а значение у в это же время окажется равным 11. Операция логического И, обозначаемая &&, связывает пару относи- тельных выражений (под относительным выражением понимается выражение, содержащее операции отношения).
Обратите внимание на то, что использование скобок, заключающих относи- тельные выражения, не является обязательным: (( x==7 && y==11 )) // внутренние скобки не обязательны
Это объясняется тем, что операции отношения имеют более высокий прио- ритет, чем логические операции.
Если игрок попадет в точку, где находится сокровище, программа отреагиру- ет на это следующим образом:
Ваши координаты: 7, 10
Выберите направление (n, s, е, w): s
Вы нашли сокровище!
В C++ существуют 3 логические операции:
Операция «исключающее ИЛИ» в языке C++ отсутствует. Теперь обратимся к примерам использования операций || и !.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
