Хранение логических значений...57
Результат логической операции может быть присвоен переменной типа bool:
int n1 = 1 ;
int n2 = 2 ;
bool b ;
b = ( n1 == n2 ) ;
Это выражение показывает разницу между операторами присвоения и сравнения. Его можно описать следующими словами: "Сравни содержимое переменных n1 и n2 и сохрани результат сравнения в переменной b".
«Оператор присвоения имеет наиболее низкий приоритет, поэтому оператор сравнения будет выполнен до присвоения. Скобки в этой ситуации излишни, и выражение b = n1 == n2 эквивалентно b = ( n1 == n2 ). Обратите также внимание на различие операторов присвоения и сравнения.»
[Советы]
Вот пример программы, демонстрирующей использование переменной типа bool:
/* BoolTest — сравнение данных, вводимых с клавиатуры, и сохранение результата в переменной типа bool */
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std ;
int main ( int nNumberofArgs , char* pszArgs[ ] )
{
setlocale ( LC_ALL , ".1251" ) ; /* печать кириллицы */
cout << "Использование переменной типа bool " ;
/* Устанавливаем текстовый формат для вывода логических значений */
cout.setf( cout.boolalpha ) ;
/* Инициализируем аргументы */
int nArg1 ;
cout << "Введите значение 1: " ;
cin >> nArg1 ;
int nArg2 ;
cout << " Введите значение 2: " ;
cin >> nArg2 ;
bool b ;
b = nArg1 == nArg2 ;
cout << "Значение " << nArg1
<< " == " << nArg2
<< " равно " << b
<< endl ;
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ;
return 0 ;
}
Инструкция cout.setf( cout.boolalpha ) ; обеспечивает вывод логического значения в виде строки "true" или "false", а не в виде 1 или 0 , как принято по умолчанию.
_________________
57 стр. Глава 4. Выполнение логических операций
Программа запрашивает у пользователя два числовых значения и возвращает результат их сравнения. Вот пример работы программы:
Использование переменной типа bool
Введите значение 1: 5
Введите значение 2: 5
Значение 5 == 5 равно true
Press any key to continue...
«Специальное значение endl вставляет символ перехода на новую строку. Разница между endl и описанным в главе 2, "Премудрости объявления переменных", символом ' ' поясняется в главе 24, "Использование потоков ввода-вывода".»
[Советы]
Больше книг — больше знаний!
Заберите 20% скидку на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ