Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ввод_вывод на консоль C++.doc
Скачиваний:
4
Добавлен:
17.08.2019
Размер:
242.18 Кб
Скачать

Использование cout

Как вы уже знаете, cout представляет собой класс, который содержит несколько разных методов. Следующие программы иллюстрируют использование некоторых методов, которые ваши программы могут применять для форматирования вывода. Из урока 3 вы узнали, что манипулятор setw позволяет вашим программам указать минимальное количество символов, которое может занять следующее выходное значение:

#include <iostream.h>

#include <iomanip.h>

void main(void)

{ cout << "Мое любимое число" << setw(3) << 1001 << endl; cout << "Мое любимое число" << setw (4) << 1001 << endl; cout << "Мое любимое число" << setw (5) << 1001 << endl; cout << "Мое любимое число" << setw(6) << 1001 << endl; }

Подобным образом метод cout.width позволяет вам указать минимальное количество символов, которое будет использовать сои/для вывода следующего значения. Следующая программа COUTWIDT.CPP использует функцию cout.width для выполнения работы, аналогичной той, которую выполняет setw, что и показано ниже:

#include <iostream.h>

#include <iomanip.h>

void main (void)

{ int i; for (i = 3; i < 7; i++)

{ cout << "Мое любимое число"; cout. width (i); cout << 1001 << endl; } }

Если вы откомпилируете и запустите вашу программу, на экране дисплея появится следующий вывод:

С:> COUTWIDT <ENTER>

Мое любимое число1001

Мое любимое число 1001

Мое любимое число 1001

Мое любимое число 1001

Подобно манипулятору setw, ширина, выбираемая с помощью функции cout.width, действует только для следующего выходного значения.

Использование символа-заполнителя

Если вы используете манипулятор setw или функцию cout.width для управления шириной вывода, cout будет помещать пробелы до (или после для выровненных влево) значений, как это и требуется. В зависимости от назначения вашей программы вы, возможно, захотите использовать символ, отличный от пробела. Предположим, например, что ваша программа создает такую таблицу:

Таблица информации Профиль компании................................................ 10 Доходы и убытки компании...................................11 Члены правления компании..................................13

В данном случае вывод предваряет номера страниц точками. Функция cout.fill позволяет вам указать символ, который cout будет использовать для заполнения пустого пространства. Следующая программа COUTFILL.CPP создает таблицу, подобную приведенной выше:

#include <iostream.h>

#include <iomanip.h>

void main(void)

{ cout << "Таблица информации" << endl; cout.fill (' . '); cout << "Профиль компании" << setw(20) << 10 << endl; cout << "Доходы и убытки компании" << setw(12) << 11 << endl; cout << "Члены правления компании" << setw(14) << 13 << endl; }

Если вы однажды выбрали символ-заполнитель с помощью cout.fill, он будет оставаться действительным, пока вы не измените его повторным вызовом cout.fill.

Управление цифрами значений с плавающей точкой

Если вы используете cout для вывода значения с плавающей точкой, то обычно не можете сделать каких-либо предположений о том, сколько цифр будет выводить cout no умолчанию. Однако, используя манипулятор setprecision, вы можете указать количество требуемых цифр- Следующая программа SETPREC.CPP использует манипулятор setprecision для управления количеством цифр, которые появятся справа от десятичной точки:

#include <iostream.h>

#include <iomanip.h>

void main(void)

{ float value = 1.23456; int i; for (i = 1; i < 6; i++) cout << setprecision(i) << value << endl; }

Когда вы откомпилируете и запустите эту программу, на экране дисплея появится следующий вывод:

С:>SETPREC <ENTER>

1.2

1.23

1.235

1.2346

1.23456

Если вы используете манипулятор setprecision для изменения точности, ваша установка действует до тех пор, пока программа повторно не использует setprecision.