середа, 13 липня 2016 р.


Форматний ввід/вивід у мові С/С++

ФУНКЦІЇ ВВОДУ/ВИВОДУ ТА МАНІПУЛЯТОРИ МОВИ С++


А ось як виглядає програма вводу/виводу з використанням бібліотеки класів С++:
Приклад 2.
# include <iostream.h>
void main()
{ int i;
cout<< “Введіть ціле число\n”;
//об’єкт для вводу з клавіатури і >>розміщення у потік виводу
cin>> i;
cout<< “Ви ввели число”<< i <<”дякую!”;
}
Для форматного виводу у С++ використовуються маніпулятори, для використання яких до програми потрібно підключити заголовний файл <iomanip.h>:
setw(int) – встановлює максимальну ширину поля виводу чисел та рядків (не символів);
setprecision(int) – встановлює максимальну кількість цифр дробової частини для дійсних чисел з фіксованою крапкою;
setiosflags(ios::showpoint | ios::fixed) – вивід дійсних чисел з фіксованою крапкою;
setiosflags(ios::left) або setiosflags(ios::right) – вирівнювання по лівому або правому полю;
endl – при виводі включає у потік символ нового рядка, еквівалентний “\n” (його опис міститься у файлі iostream.h).
Маніпулятори спрямовуються в потік виводу, аналогічно тому, як це зроблено у прикладі 3:
Приклад 3.
# include<iostream.h>
#include <iomanip.h>
void main()
{float d=52.28679;
float f= 410.0;
cout<< setprecision(3);
cout<<setiosflags(ios::showpoint | ios::fixed);
cout<<setw(12)<<d<<endl<<setw(12)<<f<<endl;
}
Результат виводу (ˆ  - позначає пробіл):
ˆˆˆˆˆˆ52.287

ˆˆˆˆˆ410.000
У даному прикладі маніпулятори точності та фіксації крапки спрямовуються у потік виводу одноразово, тоді як ширину поля виводу необхідно встановлювати для кожного значення.

Немає коментарів:

Дописати коментар