Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глинський С++.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.26 Mб
Скачать

Тема 4. Потоки. Введення - виведення даних

  1. Потоки. У C++ немає вбудованих команд уведення-виведення даних. Для організації введення-виведення тут реалі­зована концепція потоків, яка визначена у спеціальних мо­дулях. У модулі istream.h описані команди введення, у моду­лі ostream.h - команди виведення, а у модулі iostream.h - ко­манди виведення і введення.

Під потоком розуміють процес уведення-виведення інфор­мації у файл. Периферійні пристрої введення-виведення, такі як клавіатура, монітор, принтер, розглядаються як текстові файли. Під час виконання будь-якої програми ав­томатично підключаються стандартні потоки (обєкти класу типа ostream, підпрограми)для введення даних з клавіатури (сіn), виведення на екран (cout), виведення повідомлення про помилки (сеrr) і допоміжний потік (сlog).

Стандартні потоки використовують команди (оператори) введення (>>) та виведення (<<) даних. За замовчуванням стандартним пристроєм для потоків виведення даних і повідомлень про помилки є монітор користувача, а для потоку введення даних - клавіатура. Однак потоки можна перенаправляти, наприклад, можна зчитувати вхідну інформацію для програми не з клавіатури, а з деякого текстового файлу на диску.

  1. Команда введення даних. Надавати значення змінним можна двома способами: за допомогою команди присвоєння, наприклад х = 3.1, або команди уведення даних із клавіатури Команда уведення даних із клавіатури дає змогу виконувати програму для різних вхідних даних, що робить її більш універсальною (масовою). Команда введення >> описана у бібліотеці iostream.h (istream.h) і має такий загальний виляд:

сіn>> <змінна>;

Дія команди. Виконання програми зупиняється. Система переходить у режим очікування введення даного (екран темний, миготить курсор). Користувач набирає на клавіатурі значення змінної і натискає на клавішу вводу. У результаті виконання цієї команди змінній буде присвоєне конкретне значення, яке користувач уведе з клавіатури.

Якщо необхідно ввести значення відразу для декількох змінних, то можна або використати декілька потоків введення або записати усі змінні в одному потоці сіn, застосувавши для цього декілька команд >>а саме:

cin>> <змінна 1> >> <змінна 2> >> ... >> <змінна N>;

Наприклад:

int a, b, с;

cin >> а; cin >>b; cin >>c; або сіn >> а >> b >> с;.

  1. Команда виведення даних. Для виведення на екран повідомлень і результатів обчислень використовують стандар­тний потік виведення cout і команду <<, які визначені у бібліотеці iostream.h (ostream.h):

cout << <вираз 1> << <вираз 2> << ... << <вираз N>;

У списку виведення можуть бути сталі, змінні або вирази. Елементи списку у потоці cout відокремлюють командами <<.

Дія команди. Сталі, значення змінних та виразів виво­дяться на екран у вікно виведення.

Текстові повідомлення у команді виведення записують у лапках. Лапки на екран виводитися не будуть.

Для того, щоб дані виводились у потрібному для користувача вигляді, використовують керуючі послідовності.

  1. Керуючі послідовності. Керуючі послідовності - це комбінації спеціальних символів, які використовуються для вве­дення та виведення даних. Керуюча послідовність складається з символу слеш "\" і спеціальноозначеного символу. Вони призначені для форматованого виведення результатів.

Основні керуючі послідовності і їх дія:

\a – звукової

\b – крок назад (зворотній пропуск)

\f – перехід на нову сторінку

\n – перехід на новий рядок або команда lend

\r – повернення каретки (не перехід на новий рядок)

\t – символ горизонтальної табуляції

\v – символ вертикальної табуляції

\\ - символ “зворотній слеш”

\? – знак питання

\’ – одинарні лапки

\” – подвійні лапки

\0 – нульовий елемент

Керуючі послідовності записують у лапках

Значення дійсних чисел (тип float) можна виво­дити на екран у стандартному або науковому форматах. Якщо значення даного необхідно заокруглити до n значущих цифр(m=n+1на кому), то перед командою виведення треба записати

cout.precision(m).

Для подання результатів у науковому форматі необхідно під’єднати файл заголовка iomanip і перед командою виведен­ня записати

cout<< setiosflags(ios::scientific);.