Вывод вещественных чисел на экран

При выводе на экран численных значений типа "float", "double" или "long

double" возможно указание точности представления данных на экране и задание не-

которых дополнительных параметров отображения, например, отображение значений

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

В программе 3.1 вещественное число отображается в формате с фиксированной

точкой и двумя десятичными знаками после запятой. Идентификатор "sqrt" является

именем библиотечной функции извлечения квадратного корня. Описание библиотеки

математических функций содержится в заголовочном файле "math.h".

#include <iostream.h>

#include <math.h>

int main()

{

float number;

cout << "Введите вещественное число.\n";

cin >> number;

cout << "Корень из ";

cout.setf(ios::fixed); // СТРОКА 12

cout.precision(2);

cout << number;

cout << " примерно равен " << sqrt(number) << ".\n";

return 0;

}

Программа 3.1.

Программа 3.1 напечатает на экране:

23

Введите вещественное число.

200

Корень из 200.00 примерно равен 14.14.

Если СТРОКУ 12 заменить на "cout.setf(ios::scientific);", то вид результа-

та изменится:

Введите вещественное число.

200

Корень из 2.00e+02 примерно равен 1.41e+01.

В выходные данные можно включить параметры табуляции. Для этого предна-

значена функция ширины поля, например, "cout.width(20)". Она задает ширину сле-

дующего выводимого на экран значения равной, как минимум, 20 символам (при

меньшей ширине автоматически будут добавлены пробелы). Эта возможность осо-

бенно полезна для печати таблиц.

В компиляторе Visual C++ при указании ширины поля по умолчанию предпо-

лагается, что значения выравниваются по правой границе. Чтобы задать выравнива-

ние по левой границе поля, потребуется использовать еще несколько манипуляторов

ввода-вывода. Это специальные функции и операторы, содержащиеся в библиотеке

ввода/вывода Си++. Они описаны в заголовочном файле iomanip.h. Для задания вы-

равнивания по левой границе надо установить специальный флажок (переключатель)

с помощью функции setiosflags:

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

int main()

{

int number;

cout << setiosflags(ios::left);

cout.width(20);

cout << "Число" << "Квадратный корень\n\n";

cout.setf(ios::fixed);

cout.precision(2);

for (number = 1; number <= 10; number = number + 1)

{

cout.width(20);

cout << number << sqrt(number) << "\n";

}

return 0;

}

Программа 3.2.

Программа 3.2 выдаст на экран следующие сообщения:

Число Квадратный корень

1 1.00

2 1.41

3 1.73

4 2.00

5 2.24

6 2.45

24

7 2.65

8 2.83

9 3.00

10 3.16

(ПРИМЕЧАНИЕ: во всех примерах идентификатор "cout" является именем перемен-

ной-объекта класса "stream" (поток). Функции "setf(...)", "precision(...)" и

"width(...)" являются функциями-членами класса "stream". Понятия "объект",

"класс", "функция-член" и др. будут подробно рассматриваться в курсе объектно-

ориентированного программирования.)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: