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

Самоучитель С++ - Шилдт Г.

Шилдт Г. Самоучитель С++ — Спб.: БВХ-Петербург, 2003. — 688 c.
ISBN 5-7791-0086-1
Скачать (прямая ссылка): samouchitelc2003.djvu
Предыдущая << 1 .. 72 73 74 75 76 77 < 78 > 79 80 81 82 83 84 .. 206 >> Следующая

1. В этом примере показана программа, которая иллюстрирует работу функций формата:
#include <iostream>
using namespace std;
int main()
{
cout.width(10); // установка минимальной ширины поля
cout << "Привет" << 4\n1; // по умолчанию выравнивание вправо
cout * fill('% 1); // установка символа заполнения
cout.width(10); // установка ширины поля
cout << "Привет" « г \п' ; // по умолчанию выравнивание вгтраво
cout,setf(ios::left); // выравнивание влево
cout.width(10); // установка ширины поля
cout "Привет" <^< ' \п1; // выравнивание влево
Глава 8. Введение в систему ввода/вывода C+ +________________________________253
cout.width{10); // установка ширины поля
cout.precision(10); // установка точности в 10 цифр
cout << 123.234567 << ' \п';
cout.width{10); // установка ширины поля
cout.precision(6); // установка точности в 6 цифр
cout « 123.234567 « ' \п’;
return 0;
1
После выполнения программы на экран выводится следующее:
Привет
ЭПрнвег
При8ет%%%1
123.234567
123.235%%!
Обратите внимание, что ширина поля устанавливается перед каждой инструкцией вывода.
2. В следующей программе показано, как с помощью функций установки флагов формата ввода/вывода C++ создать выровненную таблицу чисел:
// Создание таблицы квадратных корней и квадратов #include <iostream> ftinclude <cmath> using namespace std;
int mainO t
double x;
coat.precision(4);
cout « "x sqrt(x) хЛ2\п\п”;
for(x = 2.0; x <= 20.0; x++) {
cout.width(7) ;
COUt « X « " cout.width(7); cout << sqrt(x) « " cout.width(1)} cout « x*x « "Хп";
}
return 0;
\
После выполнения программы на экран выводится следующее: х sqrt(x) х2
2 1.414 4
3 1.732 9
254 Самоучитель C++
4 2 16
5 2, . 236 25
6 2 . 449 36
7 2, . 646 49
8 2. . 828 64
9 3 81
10 3. 162 100
11 3. . 317 121
12 3. .464 144
13 3. 606 169
14 3. 742 196
15 3. 873 225
16 4 256
17 4. 123 289
18 4. ,243 324
19 4. 359 361
20 4. 472 400
1. Разработайте программу для печати таблицы натуральных и десятичных логарифмов чисел от 2 до 100. Формат таблицы следующий: правое выравнивание, ширина поля — 10 символов, точность — 5 десятичных позиций.
2. Создайте функцию center() со следующим прототипом:
void center (char *s) ;
Эта функция должна устанавливать заданную строку в центр экрана. Для реализации этой задачи воспользуйтесь функцией width(). Предполагается, что ширина экрана равна 80 символам. (Для простоты считайте, что длина строки не превышает 80 символов.) Напишите программу, иллюстрирующую работу этой функции.
3. Поэкспериментируйте с флагами и функциями формата. После того как вы ближе познакомитесь с системой ввода/вывода C++, вы никогда не ошибетесь в выборе нужного формата вывода.
8.4. Манипуляторы ввода/вывода
В системе ввода/вывода C++ имеется еще один способ форматирования информации. Этот способ подразумевает использование специальных функций — манипуляторов ввода/вывода (I/Omanipulators). Как вы увидите далее, манипуляторы ввода/вывода являются, в некоторых ситуациях, более удобными, чем флаги и функции формата класса ios.
Гпава 8. Введение в систему ввода/вывода C++______________________________255
Манипуляторы ввода/вывода являются специальными функциями формата ввода/вывода, которые, в отличие от функций — членов класса ios, могут располагаться внутри инструкций ввода/вывода. Стандартные манипуляторы показаны в табл. 8.1. Как можно заметить при изучении таблицы,. значительная часть манипуляторов ввода/вывода по своим действиям аналогична соответствующим функциям — членам класса ios. Многие манипуляторы, представленные в табл. 8.1, стали частью языка совсем недавно, после появления стандарта Standard C++, и поддерживаются только современными компиляторами.
Для доступа к манипуляторам с параметрами (таким, как функция setw()), необходимо включить в программу заголовок <iomanip>. В этом заголовке нет необходимости при использовании манипуляторов без параметров.
Как уже установлено, манипуляторы можно задавать внутри цепочки операций ввода/вывода. Например:
cout << oct « 100 « hex « 100;
cout « setw(10) « 100;
Первая инструкция сообщает потоку cout о необходимости вывода целых в восьмеричной системе счисления и выводит число 100 в восьмеричной системе счисления. Затем она сообщает потоку ввода/вывода о необходимости вывода целых в шестнадцатеричной системе счисления и далее осуществляется вывод числа 100 уже в шестнадцатеричном формате. Во второй инструкции устанавливается ширина поля равная 10, и затем снова выводится 100 в шестнадцатеричном формате. Обратите внимание, если используется манипулятор без аргументов (в данном примере им является манипулятор oct), скобки за ним не ставятся, поскольку это на самом деле адрес манипулятора, передаваемый перегруженному оператору «.
Предыдущая << 1 .. 72 73 74 75 76 77 < 78 > 79 80 81 82 83 84 .. 206 >> Следующая