Потоковый ввод-вывод в Си++.

Программируя на языке Си++, можно пользоваться средствами ввода-вывода стандартной библиотеки Си, подключаемой с помощью заголовочного файла stdio.h, как это делалось выше. Однако в Си++ имеются свои специфические средства ввода-вывода

Это библиотека классов, подключаемая к программе с помощью файла iostream.h. В этой библиотеке определены в качестве объектов стандартные символьные потоки со следующими именами:

сin — стандартный поток ввода с клавиатуры;

cout — стандартный поток вывода на экран.

Ввод данных интерпретируется как извлечение из потока сin и присваивание значений соответствующим переменным. В Си++ определена операция извлечения из стандартного потока, знак которой >>. Например, ввод значений в переменную х реализуется оператором

cin>>x;

Вывод данных интерпретируется как помещение в стандартный поток cout выводимых значений. Выводиться могут тексты, заключенные в двойные кавычки, и значения выражений. Знак операции помещения в поток <<. Примеры использования потокового вывода:

cout<<a+b;

соut<<"\nРезультат="<<Y;

cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl;

Из приведенных примеров видно, что в выходном потоке можно использовать управляющие символы, как и при использовании функции printf(); перед каждым элементом вывода нужно ставить знак операции <<. Элемент вывода endl является так называемым манипулятором, определяющим перевод курсора на новую строку (действует аналогично управляющему символу \n).

В процессе потокового ввода-вывода происходит преобразование из формы внешнего символьного представления во внутренний формат и обратно. Тип данных и необходимый формат определяются автоматически. Стандартные форматы задаются специальными флагами форматирования, которые устанавливаются с помощью функции setf(). Кроме того, на формат отдельных выводимых данных можно влиять путем применения специальных манипуляторов. Здесь мы не будем подробно разбирать эти вопросы.

Перепишем программу из примера 1 в варианте с использованием потокового ввода-вывода Си++.


Упражнения

1. При выполнении программы

с клавиатуры была введена следующая символьная последовательность:

32.4 87 0.05 4567 2314.45 <Enter>

Как будет выглядеть на экране результат работы программы?

2. Приведенная ниже программа решает следующую задачу: идет k-я секунда суток. Определить, сколько целых часов (Н) и целых минут (М) прошло с начала суток. Например, если k= 13257 = 3 х 36000 + 40 x 60 + 57, то H = 3, М = 40. Вывести на экран фразу: «Это...часов...минут». Вместо многоточий поставить вычисленные значения Н и М.

Разобрать, как работает данная программа. Переписать ее с использованием потокового ввода-вывода Си++.

3. Составить программу решения обратной задачи по отношению к предыдущей: дано количество часов и минут, прошедших от начала суток. Определить количество секунд.

4. Составить программу вычисления объема и площади поверхности куба по данной длине ребра.

5. Составить программу для вычисления корней квадратного уравнения.