Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые / Язык программирования Сpp 25.09.11.doc
Скачиваний:
113
Добавлен:
10.05.2015
Размер:
10.13 Mб
Скачать
      1. Использование символа-заполнителя

Если вы используете манипулятор 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.

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

Если вы используете 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.

    1. Вывод и ввод одного символа за один раз

В зависимости от назначения вашей программы вам, возможно, потребуется выводить символы на дисплей или читать с клавиатуры по одному символу за один раз. Для вывода одного символа за один раз ваши программы могут использовать функцию cout.put. Следующая программа COUTPUT.CPP использует эту функцию для вывода на экран сообщенияУчимся программировать на языке C++! по одному символу за раз:

#include <iostream.h>

void main(void)

{ char string[] = "Учимся программировать на языке C++!"; int i; for (i = 0; string[i]; i++) cout.put(string[i]) ; }

Библиотека этапа выполнения предоставляет функцию с именем toupper,которая возвращает заглавный эквивалент строчной буквы. Следующая программа COUTUPPR.CPP использует функцию toupper для преобразования символа в верхний регистр, а затем выводит эту букву с помощью cout.put.

#include <iostream.h>

#include <ctype.h> // прототип toupper

void main(void)

{ char string[] = "C++ language"; int i; for (i = 0; string[i]; i++) cout.put(toupper(string[i])); cout << endl << "Результирующая строка: " << string << endl; }

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

С:\> COUTUPPR <ENTER>

C++ LANGUAGE

Результирующая строка: C++ language

* К сожалению, функция toupper применима только к английским буквам. Прим. перев.