Хранение логических значений...57

We use cookies. Read the Privacy and Cookie Policy

Результат логической операции может быть присвоен переменной типа 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, "Использование потоков ввода-вывода".»

[Советы]