Отличия от используемых в языке С средств ввода/вывода данных в языке С++ связаны с применением предопределенных потоков и встроенных наборов классов для управления вводом/ выводом.
Отличия потокового ввода/вывода от традиционного:
- функции printf() и scanf() не предусматривают проверки типа данного, т.е. компилятор не сигнализирует о несоответствии спецификаций формата передаваемым аргументам;
- классы в С++ позволяют одним и тем же процедурам работать с потоками различных типов (стандартными, файловыми, резидентными и пользовательскими);
- единообразный интерфейс ввода/вывода.
Для работы с потоками и классами управления ввода/выводом необходимо подключение следующих библиотечных файлов: iostream.h (стандартный ввод/ вывод), fstream.h (файловый ввод/вывод), iomanip.h (манипулятры), strstream.h (резидентные потоки).
Библиотека iostream.h имеет четыре предопределенных объекта-потока, ассоциированных со стандартными устройствами ввода/вывода, а именно:
- cin ассоциируется со стандартным вводом (клавиатурой);
- cout ассоциируется со стандартным выводом (экраном);
- cerr ассоциируется со стандартным устройством ошибок (экраном) с небуферизованным выводом;
- clog ассоциируется со стандартным устройством ошибок (экраном) с буферизованным выводом.
Для ввода и вывода в библиотеке iostream.h определены два основных класса: istream и ostream соответственно. Класс ostream использует для вывода операцию левого сдвига (<<), и если данная операция применяется к объектам-потокам, то ее называют операцией помещения в поток. Класс istream использует для ввода операцию правого сдвига (>>), и если данная операция применяется к объектам-потокам, то ее называют операцией извлечения из потока. Классы istream и ostream перегружают операции извлечения и помещения для всех встроенных типов данных. Таким образом, для ввода/вывода символов, строк, целых и вещественных чисел существует единый синтаксис. Допускается при вводе/выводе последовательное сцепление нескольких операций << и >>.
Пример 1
#include <iostream.h>
#include <math.h>
void main()
{ int a=1; float b=-5.3, x; char c='d';
cout << "Введите х ";
cin >> x; ; cout << "sin(x)="<<sin(x)<<'\n';
cout <<a<<' '<<b<<' '<< c;}
Библиотека потоков iostream.h предусматривает три способа управления форматом выходных данных: с помощью форматирующих функций-элементов, использованием флагов или манипуляторов [1].
Варианты заданий
Составьте программу вычислений по следующим формулам.
1. ,
где ; a = 0, 345; y = 3,43.
,где х = 1/ sin a; a = 1,3; y = 1,8.
3. ,где ; x = 3,723; y = 25,3.
4. ,где ; а = 2,08.
5. ,где a = sin(B) + cos(2B) + 1;
B = 1,75.
6. ,где , a = 0,87; x = 2,18.
7. ,где , a = 3,18, b = 25,1.
8. ,где ;
y = 2,17; y = 0,23.
9. ,где ; b = 0,315.
10. ;где ; b = 1,5; z = 1,21.
11. , где ;
a = 0,5; y = 0,425.
12. ,где ; a = 0,5; x = 0,25.
13. ,где , Z = 5;
y = -7.
14. ,
где ; Z = 1,5; p = 3,14.
15. ,где ; x = 1,5;
G = 2,2.
16. , где ; x = 1,2; y = 2,2.
17. , где ; y = 1,25.
18. , где ; y = 1,43.
19. , где ; y = 1,34.
20. , где ; x = 1,21.
21. , где ; y = -0,5.
22. b = ln | (y - (x – y/z + x2/4), где ; x = 1,5; y = -1.