Программирование на языке высокого уровня. Марапулец Ю.В. - 116 стр.

UptoLike

Составители: 

Флаги (left, right и internal), (dec, oct и hex), а также (scientific и fixed) взаимно ис-
ключают друг друга, то есть в каждый момент может быть установлен только один флаг
из каждой группы. Для сброса предыдущего флага удобно использовать в качестве вто-
рого параметра метода setf() перечисленные ниже статические константы класса ios:
adjustfield (left | right | internal)
basefield (dec | oct | hex)
floatfield (scientific | fixed)
Помимо флагов, для форматирования используются
специальные поля класса ios,
представленные в таблице 4.2.
Таблица 4.2
Флаг Значение
int x_width минимальная ширина поля вывода;
int x_precision количество цифр в дробной части;
int x_fill символ заполнения поля вывода.
Для управления вышеперечисленными полями применяются методы width(), preci-
sion() и fill(). Описание методов представлено в таблице 4.3.
Таблица 4.3
Функция Действие
int ios:: width () возвращает значение ширины поля вывода;
int ios:: width (int) устанавливает ширину поля вывода в соответствии со зна-
чением параметра;
int ios::precision() возвращает значение, точности представления при выводе,
вещественных чисел;
int ios::precision(int) устанавливает значение точности представления при выводе
вещественных чисел, возвращает старое значение точности;
char fill() возвращает текущий символ заполнения;
char fill(char) устанавливает значение текущего символа заполнения, воз-
вращает старое значение символа.
Рассмотрим пример использования вышеперечисленных методов:
#include <iostream.h>
int main()
{
int i = 123;
cout.width(7);
cout<<i;
Результат:
….123
В данном примере при выводе результата для наглядности вместо пробела исполь-
зован символ
. . По умолчанию символом заполнения является пробел. Изменить данное
умолчание на любой другой символ позволяет метод fill():
int i = 123;
cout
.width(7);
cout
.fill ('*');
cout<<i;
Результат:
****123
По умолчанию установлено выравнивание по правому краю. При помощи функций
setf и unsetf можно изменить флаг форматирования:
116
     Флаги (left, right и internal), (dec, oct и hex), а также (scientific и fixed) взаимно ис-
ключают друг друга, то есть в каждый момент может быть установлен только один флаг
из каждой группы. Для сброса предыдущего флага удобно использовать в качестве вто-
рого параметра метода setf() перечисленные ниже статические константы класса ios:

     adjustfield (left | right | internal)
     basefield (dec | oct | hex)
     floatfield (scientific | fixed)

       Помимо флагов, для форматирования используются специальные поля класса ios,
представленные в таблице 4.2.
                                                                            Таблица 4.2
              Флаг                                    Значение
 int x_width                  минимальная ширина поля вывода;
 int x_precision              количество цифр в дробной части;
 int x_fill                   символ заполнения поля вывода.
       Для управления вышеперечисленными полями применяются методы width(), preci-
sion() и fill(). Описание методов представлено в таблице 4.3.
                                                                            Таблица 4.3
           Функция                                    Действие
 int ios:: width ()          возвращает значение ширины поля вывода;
 int ios:: width (int)       устанавливает ширину поля вывода в соответствии со зна-
                             чением параметра;
 int ios::precision()        возвращает значение, точности представления при выводе,
                             вещественных чисел;
 int ios::precision(int)     устанавливает значение точности представления при выводе
                             вещественных чисел, возвращает старое значение точности;
 char fill()                 возвращает текущий символ заполнения;
 char fill(char)             устанавливает значение текущего символа заполнения, воз-
                             вращает старое значение символа.
Рассмотрим пример использования вышеперечисленных методов:

#include 
int main()
{
      int i = 123;
      cout.width(7);
      cout<