Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Ввод-вывод данных




При работе с консольными приложениями существуют два основных способа ввода-вывода данных. Первый способ – это использование функций printf() и scanf(), унаследованных из языка С. Второй – использование объектов cin и cout языка С++. В одной программе не рекомендуют смешивать эти способы. Мы будем использовать второй способ. Примеры использования функций без труда можно найти в литературе по С++.

Чтобы объекты cin и cout были доступны, как уже говорилось, нужно подключить к вашей программе заголовочный файл iostream.

Объект cout используется для вывода в окно консоли. Ему с помощью операции << (операции помещения в поток) передается то, что мы хотим вывести на экран. Это могут быть переменные любых стандартных типов, литералы, выражения. Например, символьный литерал – это последовательность любых символов, заключенная в кавычки. Для вывода нескольких элементов используется цепочка операций <<. В зависимости от типа данные из внутреннего представления преобразуются в текстовую строку, которая и выводится на экран.

В цепочку можно также помещать специальные функции, которые называются манипуляторами, для форматирования данных. При использовании манипуляторов с параметрами необходимо подключить к программе заголовочный файл iomanip. Некоторые полезные манипуляторы:

endl – включает в поток символ новой строки и выгружает буфер, используется для перехода на новую строку;

setw(int) – устанавливает максимальную ширину поля вывода для следующего значения;

setprecision(int) – устанавливает максимальное количество цифр в дробной части или общее количество значащих цифр для чисел в зависимости от формата;

fixed – устанавливает формат числа «с фиксированной точкой»;

scientific – устанавливает формат числа «научный»;

left, right –выравнивание текста;

setiosflags (long) – устанавливает флаги состояния потока;

resetiosflags(long) – сбрасывает флаги состояния потока.

Ниже перечислены флаги форматирования, которые чаще всего используются:

ios::left – выравнивание по левому краю;

ios::right – выравнивание по правому краю;

ios::fixed – печатать вещественные числа в форме с фиксированной точкой;

ios::scientific – печатать вещественные числа в форме мантиссы с порядком;

ios::showpoint – при выводе вещественных чисел печатать десятичную точку и дробную часть.

Пример 1.3. Вывод чисел с использованием манипуляторов

Результат работы программы виден на рисунке.

Вместо манипуляторов для установки параметров форматирования можно также использовать перечисленные ниже методы объекта cout:

setf(long) – устанавливает заданные флаги;



unsetf(long) – сбрасывает заданные флаги;

width(int) – устанавливает ширину поля вывода для следующего значения;

precision(int) – устанавливает значение точности представления при выводе вещественных чисел.

Пример 1.4. Вывод чисел с использованием методов объекта cout

Результат выполнения этой программы точно такой же, как в предыдущем случае. В данном случае файл iomanip не нужен. Описание других флагов, манипуляторов и методов можно найти в дополнительной литературе, например, в [1, глава 10].

Ввод данных осуществляется с помощью объекта cin и операции >> (операции извлечения из потока). Если нужно ввести несколько величин, используется цепочка операций >>. При вводе последовательность символов, набранных на клавиатуре, после необходимых преобразований присваивается переменной, указанной справа от знака >>. Величины при вводе должны разделяться пробелами, знаками табуляции или символами перевода строки.

Вещественные числа могут быть представлены как в форме с фиксированной точкой, так и с порядком. Например, на клавиатуре мы можем набрать как 0.0123, так и 1.23e-2. Это одно и то же число. Если при вводе символов вы допустили ошибку, ее можно исправить, пока не была нажата клавиша Enter. После нажатия Enter строка символов попадает в буфер ввода, откуда и берет данные операция >>. Если очередной символ оказывается недопустимым, то операция ввода прекращается.


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал