Заголовок <iomanip> состоит из функций, которые используются для управления выводом программы C++. Мы можем сделать вывод любой программы более аккуратным и презентабельным в зависимости от того, где мы хотим его показать или кто будет его использовать.
Чтобы правильно отформатировать вывод, мы можем использовать манипуляторы, предоставляемые заголовком <iomanip>, и сделать вывод более понятным.
Например, если мы печатаем матрицу, скажем, следующим образом:
Используя простой поток cout, мы не сможем отформатировать вывод, как показано выше. Следовательно, мы можем использовать функцию setw из заголовка <iomanip> и установить определенную ширину между элементами.
Таким образом, мы можем сделать вывод программы более реалистичным и презентабельным.
Заголовок <iomanip> содержит несколько функций для форматирования вывода.
К основным из них относятся:
- Setprecision: эта функция устанавливает точность для десятичных или плавающих значений.
- Setw : функция Setw устанавливает ширину поля или количество символов, которые должны отображаться перед определенным полем.
- Setfill: функция Setfill используется для заполнения потока типом char, указанным в качестве параметра.
SetPrecision
Прототип функции: setprecision (int n).
Параметры: n=>устанавливаемое значение десятичной точности.
Возвращаемое значение: не указано
Описание: Эта функция устанавливает десятичную точность для значений с плавающей запятой. Она форматирует число с плавающей запятой при отображении.
Ниже приведен подробный пример программы для демонстрации функции setprecision:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> #include <iomanip> using namespace std; int main () { double float_value =3.14159; cout << setprecision(4) << float_value << '\n'; cout << setprecision(9) << float_value << '\n'; cout << fixed; cout << setprecision(5) << float_value << '\n'; cout << setprecision(10) << float_value << '\n'; return 0; } |
Вывод данных:
Precision to 4 places: 3.142 Precision to 9 places: 3.14159 Fixed Precision to 5 places: 3.14159 Fixed Precision to 10 places: 3.1415900000 |
Здесь мы устанавливаем различные точности для значения с плавающей запятой 3,14159. Как видно из вывода, отображение значения с плавающей запятой меняется в зависимости от установленной точности.
Setw
Прототип функции: setw (int n).
Параметры: n=> значение ширины поля (количество символов), которое будет использоваться.
Возвращаемое значение: не указано
Описание: Функция setw устанавливает ширину поля или количество символов, которые будут использоваться для вывода чисел.
Пример, демонстрирующий работу функции setw:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> #include <iomanip> using namespace std; int main () { cout << "The number printed with width 10"<<endl; cout << setw(10); cout << 77 << endl; cout << "The number printed with width 2"<<endl; cout << setw(2); cout << 10 << endl; cout << "The number printed with width 5"<<endl; cout << setw(5); cout << 25 << endl; return 0; } |
Вывод данных:
The number printed with width 10 __________77 The number printed with width 2 __10 The number printed with width 5 _____25 |
В этой программе мы печатаем разные числа, устанавливая разные значения ширины. В соответствии с установленной шириной число печатается после пропуска этих многих пробелов. Вывод программы четко показывает разницу.
Setfill
Прототип функции: setfill (char_type c).
Параметры: n=> новый символ заполнения для потока; char_type: тип символов, используемых потоком.
Возвращаемое значение: unspecified
Описание: setfill устанавливает c в качестве нового символа заполнения для потока.
Ниже приведен пример программы для демонстрации работы функции setfill:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> #include <iomanip> using namespace std; int main () { cout << setfill ('*') << setw (10); cout << 15 << endl; cout << setfill ('#') << setw (5); cout << 5 << endl; cout << setfill ('#') << setw (5); cout << 1 << endl; cout << setfill ('*') << setw (10); cout << 25 << endl; return 0; } |
Вывод данных:
*******15
####5
####1
*******25
|
В приведенной выше программе мы использовали функцию setfill вместе с различными символами в качестве параметров функции setfill. Когда мы вызываем эту функцию с функцией setw, ширина, которую мы указали в функции setw, заполняется символом, который мы указали в функции setfill.
Итог
Заголовок <iomanip> содержит функции, которые мы можем использовать для форматирования вывода программы C++. Эти функции можно использовать по одной или вместе, чтобы сделать вывод нашей программы более презентабельным.
В этой статье мы рассмотрели функции setprecision, setw и setfill заголовка <iomanip>, а также разработали программы на C++, использующие их. Эти функции могут быть очень полезны, когда нам нужно отформатировать и украсить вывод.
В нашей следующей статье мы обсудим важные математические функции C++, включенные в заголовочный файл <cmath>, такие как abs, max, pow, sqrt и т. д., с примерами и константами C++.
С Уважением, МониторБанк