Компиляторы языка Си++ поддерживают функции языка С. Кроме того, Си++ имеет собственное многоцелевое средство ввода для всех типов данных. Стандартный поток ввода cin в сочетании с двумя символами «больше» (>>), которые называются оператором извлечения, служит для считывания данных с клавиатуры. Программа
int count;
cin >> count;
вводит целочисленные данные с клавиатуры в значение переменной count.
Стандартный поток ввода cin не требует указания адреса переменной для числовых и символьных данных, указывается только имя переменной.
При использовании cin нет необходимости определять формат с помощью указателей формата. Поток ввода cin имеет возможность определять тип данных самостоятельно на основании вводимой информации. Это свойство называется перегрузкой. Из-за этой особенности оператора cin большинство программистов предпочитают использовать именно его.
При работе с несколькими аргументами необходимо отделять каждое имя переменной оператором извлечения:
cin >> amount >> count >> age >> name;
Оператор извлечения >> изображен в виде стрелки, направленной в сторону переменной. Это означает, что данные поступают к ней в виде ввода. Когда вы применяете cin для ввода данных, пользуйтесь оператором, который как бы указывает направление к переменной.
Язык Си++ имеет дополнительный способ вывода данных всех типов.
Стандартный поток вывода cout, позволяет в сочетании с двумя символами «меньше» (<<), которые называются оператором вставки, отображать литералы или значения констант и переменных без использования указателей формата. Инструкция:
int c;
c = 4509;
cout << c;
отобразит значение переменной с именем c - число 4509.
Используя один стандартный поток вывода cout, можно отобразить несколько аргументов. Между собой аргументы разделяются операторами вставки:
int age;
age = 23;
cout << "\nВам исполнилось " << age << " года.";
Стандартный поток вывода cout отображает каждый пункт, указанный с помощью оператора вставки, в том порядке, в каком они записаны в инструкции.
Чтобы перейти к новой строке, там, где вы хотите ее начать, надо добавить управляющий код \n.
Стандартный поток вывода cout не требует обязательного использования указателей формата, но позволяет их ввести. С помощью указателей формата можно определять ширину поля, количество пробелов и число знаков после точки в вещественных числах.
Одна из особенностей языка Си++ - так называемая перегрузка - делает необязательным использование указателей формата. Сout при передаче параметров сам определяет формат на основании типа получаемых данных. Этот процесс называется перегрузкой.
Сin и cout представляют собой классовые объекты, определяемые и создаваемые с помощью заголовочного файла iostream.h.
1.Заголовочный файл iostream.h содержит определения классов, (анализ, чтобы лучше понять потоковый ввод/вывод).
2.Используя манипулятор setw и метод cout.width, программы могут управлять шириной вывода.
3.Используя метод cout.fill, программы могут заменить пустые выходные символы (табуляцию и пробелы) некоторым определенным символом.
4.Для управления количеством цифр, выводимых выходным потоком cout для значений с плавающей точкой, программы могут использовать метод cout.setprecision.
5.Для вывода и ввода по одному символу за один раз программы могут использовать потоковые методы cout.put и cin.get.
6.Используя метод cin.getline, программы могут вводить целую строку за один раз. Каждая написанная на C++ программа включала заголовочный файл iostream.h. Этот файл содержит определения, позволяющие программам использовать cout для выполнения вывода и cin для выполнения ввода. Этот файл определяет классы istream и ostream (входной поток и выходной поток), a cin и соut являются переменными (объектами) этих классов. Большинство определений класса являются просто определениями классов и констант. Внутри файла вы найдете объявления переменных cin и cout. Сout представляет собой класс, который содержит несколько разных методов, которые программы могут применять для форматирования вывода. Манипулятор setw позволяет вашим программам указать минимальное количество символов, которое может занять следующее выходное значение.(Primer 1 лекции 4).
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "Number 1 " << setw(3) << 1001 << endl;
cout << "Number 2 " << setw(4) << 1001 << endl;
cout << "Number 3 " << setw(5) << 1001 << endl;
cout << "Number 4 " << setw(6) << 1001 << endl;
cin.get();
cin.get();
return 0;
}
highlightSyntax('cpp_55370','cpp'); Метод cout.width позволяет указать минимальное количество символов, которое будет использоваться для вывода. highlightSyntax('cpp_37223','cpp'); Подобно манипулятору setw, ширина, выбираемая с помощью функции cout.width, действует только для следующего выходного значения. Использование символа-заполнителя. Если вы используете манипулятор setw или функцию cout.width для управления шириной вывода, cout будет помещать пробелы до (или после для выровненных влево) значений, как это и требуется. В зависимости от назначения вашей программы вы, возможно, захотите использовать символ, отличный от пробела (для таблицы). В данном случае вывод предваряет номера страниц точками. Функция cout.fill позволяет вам указать символ, который cout будет использовать для заполнения пустого пространства. (Primer 2 лекции 4)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "Table" << endl;
cout.fill ('.');
cout << "Number " << setw(20) << 10 << endl;
cout << "Salto " << setw(21) << 11 << endl;
cout << "Balans " << setw(20) << 13 << endl;
cin.get();
return 0;
}
highlightSyntax('cpp_55330','cpp'); Если вы выбрали символ-заполнитель с помощью cout.fill, он будет оставаться действительным, пока вы не измените его повторным вызовом cout.fill. Если используется cout для вывода значения с плавающей точкой, то обычно нельзя сделать каких-либо предположений о том, сколько цифр будет выводить cout no умолчанию. Используя манипулятор setprecision, можно указать количество требуемых цифр(справа от десятичной точки). (Primer 3 лекции 4)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
float value = 1.23456;
int i;
for (i = 1; i < 6; i++) cout << setprecision(i) << value << endl;
cin.get();
return 0;
}
highlightSyntax('cpp_79271','cpp'); Вывод и ввод одного символа за один раз. Для вывода одного символа за один раз программа может использовать функцию cout.put. (Primer 4 лекции 4).
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление