×
Traktatov.net » Язык программирования C++. Пятое издание » Читать онлайн
Страница 8 из 714 Настройки
(произносится "си-ин") типа >istream. Этот объект упоминают также как стандартный ввод (standard input). Для вывода используется объект >cout (произносится "си-аут") типа >ostream. Его зачастую упоминают как стандартный вывод (standard output). В библиотеке определены еще два объекта типа >ostream — это >cerr и >clog (произносится "си-ерр" и "си-лог" соответственно). Объект >cerr, называемый также стандартной ошибкой (standard error), как правило, используется в программах для создания предупреждений и сообщений об ошибках, а объект >clog — для создания информационных сообщений.

Как правило, операционная система ассоциирует каждый из этих объектов с окном, в котором выполняется программа. Так, при получении данных объектом >cin они считываются из того окна, в котором выполняется программа. Аналогично при выводе данных объектами >cout, >cerr или >clog они отображаются в том же окне.

Программа, использующая библиотеку ввода-вывода

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

>#include

>int main() {

> std::cout << "Enter two numbers:" << std::endl;

> int v1 = 0, v2 = 0;

> std::cin >> v1 >> v2;

> std::cout << "The sum of " << v1 << " and " << v2

>           << " is " << v1 + v2 << std::endl;

> return 0;

>}

Вначале программа отображает на экране приглашение пользователю ввести два числа.

>Enter two numbers:

Затем она ожидает ввода. Предположим, пользователь ввел следующие два числа и нажал клавишу :

>3 7

В результате программа отобразит следующее сообщение:

>The sum of 3 and 7 is 10

Первая строка кода (>#include ) — это директива препроцессора (preprocessor directive), которая указывает компилятору[1] на необходимость включить в программу библиотеку >ostream. Имя в угловых скобок — это заголовок (header). Каждая программа, которая использует средства, хранимые в библиотеке, должна подключить соответствующий заголовок. Директива >#include должна быть написана в одной строке. То есть и заголовок, и слово >#include должны находиться в той же строке кода. Директива >#include должна располагаться вне тела функции. Как правило, все директивы >#include программы располагают в начале файла исходного кода.

Запись в поток

Первый оператор в теле функции >main() выполняет выражение (expression). В языке С++ выражение состоит из одного или нескольких операндов (operand) и, как правило, оператора (operator). Чтобы отобразить подсказку на стандартном устройстве вывода, в этом выражении используется оператор вывода (output operator), или оператор ><<.

>std::cout << "Enter two numbers:" << std::endl;

Оператор ><< получает два операнда: левый операнд должен быть объектом класса >ostream, а правый операнд — это подлежащее отображению значение. Оператор заносит переданное значение в объект >cout класса >ostream