Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по Программированию на С++.doc
Скачиваний:
0
Добавлен:
19.01.2020
Размер:
795.65 Кб
Скачать

Константы

Рассмотрим пример, характеризующий сказанное ранее о константах.

int main() {

float r, S; // переменная вещ. типа (радиус и площадь)

const float PI =3.14159; // вещественная константа (число Пи)

cout << "Vvedite radius okrugnosti: "; // запрос

cin >> r; // считывание введенного радиуса

S = PI * r * r; // вычисление площади круга

cout <<"Ploshad kruga ravna " << S << endl; // вывод результата на экран

return 0;

}

Здесь ключевое слово const, предшествующее описанию типа переменной означает, что во время выполнения программы запрещено изменять значение этой переменной.

Константы можно определять с помощью директивы препроцессора #define. Например: #define PI 3.14159. Однако отсутствие типа у подобных констант может привести к некорректной работе программы, и поэтому такой способ не рекомендуется употреблять в С++.

Манипуляторы

Манипуляторы – это особые операции, используемые для изменения формата вывода данных программы. Манипуляторы действуют только на те данные, которые следуют за ними в потоке (<<) . Рассмотрим пример форматированного ввода-вывода:

#include <iostream>

#include <iomanip> // для использования setw

#include <conio>

using namespace std;

//---------------------------------------------------------------------------

int main() {

int pop1 = 8425785, pop2 = 47567; // кол-во населения

cout << setw(8) << "Gorod" << setw(11) << "Naselenie" << endl

<< setw(8) << "Moskva" << setw(11) << pop1 << endl

<< setw(8) << "Kirov" << setw(11) << pop2 << endl;

getch(); return 0; }

В данной программе используется манипулятор setw(n), который печатает число или строку, следующую за ним в потоке, в поле фиксированной длины n. Значение переменной, помещаемой в поле, выравнивается справа.

setw(8)

setw(11)

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

9

10

11

Г

о

р

о

д

Н

а

с

е

л

е

н

и

е

М

о

с

к

в

а

8

4

2

5

7

8

5

К

и

р

о

в

4

7

5

6

7

Манипуляторы бывают двух видов: с аргументами и без аргументов. Для работы с ними требуется заголовочный файл <iomanip.h>. Приведём наиболее распространённые манипуляторы.

Таблица "Манипуляторы с аргументами"

Манипулятор

Аргумент

Назначение

setw()

ширина поля (int)

Устанавливает ширину поля для вывода данных

setfill()

символ заполнения (int)

Устанавливает символ заполнения (по умолчанию, пробел)

setprecision()

точность (int)

Устанавливает точность, т.е.число выводимых знаков после запятой

setiosflags()

флаги форматирования (long)

Устанавливает указанные флаги форматирования

resetiosflags()

— « —-

Сбрасывает указанные флаги форматирования

Таблица "Манипуляторы без аргументов"

Манипулятор

Назначение

ws

Включает пропуск пробелов при вводе

dec

Перевод в десятичную форму

oct

Перевод в восьмеричную форму

hex

Перевод в шестнадцатеричную форму

endl

Вставка разделителя строк, очистка потока и перевод на следующую строку

ends

Вставка символа отсутствия информации для окончания выходной строки

Например, чтобы вывести переменную d в шестнадцатеричной форме, надо указать: cout << hex << d; .