Главная страница

Алгоритмизации


Скачать 1.15 Mb.
НазваниеАлгоритмизации
Дата27.09.2022
Размер1.15 Mb.
Формат файлаdocx
Имя файла12_100229_1_124427 (1).docx
ТипДокументы
#700459
страница44 из 67
1   ...   40   41   42   43   44   45   46   47   ...   67

ГЛАВА 16. Переход к ООП



При переходе от языка Си к языку С++ в стандартANSIбыли введены дополнительные механизмы, которые позволили в конечном итоге создать среду для разработки программ в объектно-ориентированном стиле.

Рассмотрим некоторые из них.

    1. Потоковыйввод-вывод


Поток – это абстрактное понятие, которое относится к любому переносу данных от источника к приемнику. Потоки С++ обеспечивают надежную работу как со стандартными (stdin, stdout), так и с определенными пользователями типами данных. Поток определяется как последовательность байт, не зависящая от конкретного устройства.

Для ввода-вывода в языке С++ используются два объекта класса iostream: cin(класс istream), cout(класс ostream) и две переопределенные операции побитового сдвига. Для их работы необходимо подключить заголовочный файл iostream.h.

Формат записи операций помещениявпоток<< (вывод на экран) и

извлеченияизпотока>> (ввод с клавиатуры) следующий:

cout<< IDпеременной;

cin>> IDпеременной;

Стандартный поток вывода coutпо умолчанию связан со стандартным устройством вывода stdout (дисплей монитора), а ввода cin со стандартным устройством ввода stdin, т.е. клавиатурой. Приведем пример: #include

void main (void)

{

int i, j, k;

cout << Hello! << endl; // «end line» переход на новую строку

cout << Input i, j ”; cin >> i >> j ;

k = i + j ;

cout << Sum i , j = << k << endl;

}

    1. Управление выводом


В стандарте языка Си ANSI ввод-вывод данных осуществляется при помощи стандартных библиотечных функций. Управление выводом осуществляется при помощи использования форматов и управляющих символов.

Для форматирования и управления выводом данных в потоке введен механизм манипуляторов специальных функций для модификации работы

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

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


Манипуляторы– специальные функции, возвращающие модифицированные данные потока. В большинстве случаев их использование позволяет форматировать данные, как при выводе, так и в оперативной памяти.

Для их использования необходимо вместо файла iostream.hподключить заголовочный файл iomanip.h (манипуляторы для вывода потоками).

Рассмотрим работу некоторых манипуляторов на конкретном примере.

#include main()

{

int a= 157;

double b = 1.55555;

cout << setw(10) << a<< endl;

/* Манипулятор setw(n) устанавливает ширину поля, т.е. nпозиций, для вывода объекта. На экране объект абудет выводиться с8-й позиции, первые 7 позиций – пустые: 157 (заполнение пробелами неиспользуемой части).

Действует только для следующего за ним объекта. */ cout << setw(10) << setfill(‘z’) << a<< endl;

/* Манипулятор setwfill(kod) – устанавливает заполнитель пробелов, задан- ный символом или его кодом (можно было указать122 – код символа 'z'). На экране: zzzzzzz157. Действует до изменения или отмены setwfill(0) .*/

cout << oct << a << endl;

/* Манипуляторoct выполняет преобразование объекта в8-ричную форму представления. На экране: 235 */

cout << hex << a << endl;

// hex преобразует объект в 16-ричную форму. На экране: 9d cout << dec << a << endl;

// dec преобразует обратно в 10-тичную. На экране: 157

cout << b << endl; // На экране: 1.55555 cout << setprecision(3) << b << endl;

/* setprecision(n) – устанавливает n значащих цифр после запятой с учетом точки или без нее, в зависимости от системы программирования. На экране:

1.56 или 1.556 */

return 0;

}
1   ...   40   41   42   43   44   45   46   47   ...   67


написать администратору сайта