- •1.Ввод/вывод на консоль в стиле с
- •Форматный ввод / вывод на консоль
- •Спецификаторы преобразования
- •Ввод чисел
- •Ввод целых значений без знака
- •Чтение одиночных символов с помощью scanf()
- •Чтение строк
- •Ввод адреса
- •Спецификатор %n
- •Использование набора сканируемых символов
- •Пропуск лишних разделителей
- •Символы в управляющей строке, не являющиеся разделителями
- •Функции scanf() необходимо передавать адреса
- •Модификаторы форматат
- •Подавление ввода
- •Что внутри iostream.H
- •Использование cout
- •Использование символа-заполнителя
- •Управление цифрами значений с плавающей точкой
- •Вывод и ввод одного символа за один раз
- •Чтение ввода с клавиатуры по одному символу за раз
- •Чтение с клавиатуры целой строки
- •Что вам необходимо знать
Использование cout
Как вы уже знаете, cout представляет собой класс, который содержит несколько разных методов. Следующие программы иллюстрируют использование некоторых методов, которые ваши программы могут применять для форматирования вывода. Из урока 3 вы узнали, что манипулятор setw позволяет вашим программам указать минимальное количество символов, которое может занять следующее выходное значение:
#include <iostream.h>
#include <iomanip.h>
void main(void)
{ cout << "Мое любимое число" << setw(3) << 1001 << endl; cout << "Мое любимое число" << setw (4) << 1001 << endl; cout << "Мое любимое число" << setw (5) << 1001 << endl; cout << "Мое любимое число" << setw(6) << 1001 << endl; }
Подобным образом метод cout.width позволяет вам указать минимальное количество символов, которое будет использовать сои/для вывода следующего значения. Следующая программа COUTWIDT.CPP использует функцию cout.width для выполнения работы, аналогичной той, которую выполняет setw, что и показано ниже:
#include <iostream.h>
#include <iomanip.h>
void main (void)
{ int i; for (i = 3; i < 7; i++)
{ cout << "Мое любимое число"; cout. width (i); cout << 1001 << endl; } }
Если вы откомпилируете и запустите вашу программу, на экране дисплея появится следующий вывод:
С:> COUTWIDT <ENTER>
Мое любимое число1001
Мое любимое число 1001
Мое любимое число 1001
Мое любимое число 1001
Подобно манипулятору setw, ширина, выбираемая с помощью функции cout.width, действует только для следующего выходного значения.
Использование символа-заполнителя
Если вы используете манипулятор 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.
Управление цифрами значений с плавающей точкой
Если вы используете 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.