Программирование >>  Расширенная версия языка c++ 

1 ... 78 79 80 [ 81 ] 82 83 84 ... 227


cout

Эта функция выводив ояаие флагов формата , м , ,

void showflags О , , , >

ios::fmtflags f;

f lagsO; получение мовок флагов формата

if(f kipws) cout skipws установленХп ;

else cout

if(f :left) cou left устаиовленХп ;

else cout left Сброшен\n / \.

if(f right) cou-;-- right установленХп ;

else cout right сброшенХп ; -

if(f eternal) cou< internal установленХп ; ., .

else cout << internal сброшенХп ;

if(f ;dec) cou dec установленХп ;

else cout dec сброшенХп ;

iff :oct) cout << oct установленХп ;

else cout oct сброшенХп ; -

if(f :hejt) cou hex установленХп ;

else cout hex СброшенХп ; . ..

if(f owbase) cout showbase установленХп ;

else cout showbase сброшенХп ;

if(f owpoint) cout << showpoint установленХп ;

else cout showpoint сброшенХп ;

if (f showpos) cout showpos установленХп ;

else cout showpos сброшенХп ; У yr

if(f percase) cou uppercase установленХп ;

else cout uppercase СброшенХп ;

if(f entificl cou scientific установленХп ;

else cout scientific сброшенХп ;

if(f fixed) cout fixed установленХп ;

.else cout fixed сброшенХп ;

if (f nitbuf) cout unitbuf установленХп ;

else cout unitbuf сброшенХп ;

if(f olalpha) cout boolalpha установленХп ;

else cout << boolalpha сброшенХп ; . . u- ,



В функции ags() объявляется локальная переменная f тип fflags. Если в вашем компиляторе тип данных fmtflags не определен, объявите переменную f типа long. Ниже показан результат выполнения программы:

skipwa установлен

left сброшен *

right сброшен ..... . . ., ,

internal сброшен , . ,

dec установлен

oct сброшен .

hex сброшен

Showbase сброшен , .

showpoint сброшен , , -

showpos сброшен

uppercase сброшен . -

scientific сброшен

fixed сброшен ....

unitbuf сброшен

boolalpha сброшен

skipws установлен i

left сброшен

right сброшен

internal сброшен - -

dec установлен

oct установлен .

hex сброшен

showbase установлен

showpoint сброшен showpos сброшен

uppercase сброшен , : .

scientific сброшен fixed установлен

unitbuf сброшен

boolalpha сброшен . . . , . .

4. В следующей программе проиллюстрирована работа второй версии функции flagsO- Сначала, устанавливая флаги showpos, showbase, oct и right, мы строим маску флагов. Затем с помощью функции flags() для потока cout маска связывается с переменной флагов. С помощью функции showflagsO проверяется правильность установки флагов. (Это та же функция, которая использовалась в предыдущей программе.)

- г

♦include <iostream> -.

using namespace std;

>

void showflags();



int main

отображение состояния флагов формата по умолчанию showflags() ;

устанавливаются флаг wpos, showbase, cct и right; остальные сбрасываются

ios: .fmtflags f showpos showbase ios:; oct I ios::right;

cout. flags (f) ; установка флагов -.я-.-

showflagsi

return 0;

Упразкнения

1. Напишите программу, которая бы устанавливала флаги для потока cout так, чтобы целые, если они выводились со знаком +.

что ваш набор флагов формата правилен.

2. Напишите программу, которая бы устанавливала флаги для потока cout так, чтобы всегда выводе дробных значений были показаны десятичные точки. Кроме этого, значения с плавающей точкой должны выводиться в научной нотации с символом Е в верхнем регистре.

3. Напишите программу, которая сохраняет текущее состояние флагов формата, устанавливает флаги showbase и hex, выводит на экран значение 100, а затем возвращает флаги в исходное состояние.

8.3. Функции rec/s/onf; и fill(}

Кроме флагов формата в классе ios определены три функции-члена. Эти функции устанавливают следующие параметры формата: ширину поля, точность и символ заполнения. Этими функциями являются соответственно функци th(), precisionO и filJ().

По умолчанию при выводе любого значения оно занимает столько позиций, сколько символов выводится. Однако с помощью функции HidthO можно задать минимальную ширину поля. Ниже показан прототип этой функции:

streamsize width(streamsize w) ;

Ширина поля задается параметром w. а функция возвращает предыдущую ширину поля. Тип данных streamsize определен в заголовочном файле



1 ... 78 79 80 [ 81 ] 82 83 84 ... 227

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика