
6. Операторы ввода и вывода данных
Заголовочный файл iostream.h содержит определения, позволяющие использовать операторы ввода (cin) и вывода (cout) данных. Если вы хотите воспользоваться этими операторами, то в начало программы следует включить обращение к заголовочному файлу: #include <iostream.h>
Ввод данных. Для ввода переменных в C++ чаще всего используется оператор: cin>>xl>>...>>xN;
Двойной знак «больше» называется операцией извлечения (эта операция извлекает данные из входного потока, присваивая значение указанной переменной).
Значения вводимых переменных (входной поток) должны соответствовать типам переменных, указанным в операторах объявления. Значения переменных вводятся с клавиатуры и отделяются друг от друга хотя бы одним пробелом. Например: 1.5 2 15 -1.1 25.
Ввод символьных переменных и строк ничем не отличается от ввода целых или вещественных чисел. Значения символьных переменных и строк записываются во входном потоке без апострофов или кавычек.
Для ввода символьных переменных и строк C++ предоставляет пользователю дополнительно две функции — cin.get и cin.getline.
В том случае, если необходимо читать (вводить) по одному символу с клавиатуры, можно воспользоваться функцией cin.get, например: c1=cin.get ();
В этом примере символьная переменная, объявленная как char cl, получит значение символа, введенного с клавиатуры при нажатии соответствующей клавиши.
Если нужно прочитать (ввести) с клавиатуры не один символ, а целую строку, воспользуйтесь функцией cin.getline, указав имя символьной строки и ее длину, например: cin.getline(c2,11);
В этом примере в символьную строку, объявленную как char с2[64], будет записано 10 символов, введенных с клавиатуры.
Вывод данных. Для вывода данных в C++ используется оператор cout<<xl<<...<<xN;
Двойной знак «меньше» называется операцией вставки (эта операция вставляет символы в выходной поток).
Для перевода курсора в начало следующей строки в операторе cout часто используется символ endl (конец строки), например: cout<<xl<<endl;
В операторе вывода можно использовать специальные символы, перечисленные в табл. 18.
Специальные символы должны быть заключены в одинарные кавычки, если они используются сами по себе, например: cout<<'\a'<<"3BOHOK";
Если же специальные символы используются внутри двойных кавычек, то заключать их в дополнительные одинарные кавычки не нужно.
Пример
#include <iostream.h>
void main(void)
{
int x=5;
cout<<"Bывод\ tx="<<x<<endl ;
}
Результат выполнения программы:
Вывод х=5
По умолчанию в C++ числа выводятся в десятичной системе счисления. Для вывода чисел в восьмеричной или шестнадцатеричной системе счисления внутри выходного потока нужно разместить модификаторы oct или hex. Чтобы вернуться к десятичной системе счисления, следует воспользоваться модификатором dec.
Пример
#include <iostream.h>
void main(void)
{
int x=20;
cout«"8-cc: "«oct«x«endl ;
cout«"16-cc: "<<hex«x«endl;
cout«"10-cc: "«dec«x«endl;
}
Результат выполнения программы:
8-cc: 24
16-сс: 14
10-cc: 20
При выводе чисел с помощью оператора cout можно в явном виде указать ширину вывода числа с помощью модификатора setw (число позиций), например: cout<<"Число"<<setw(10) <<5<<endl;
В результате выполнения этого оператора на экран дисплея будет выведено:
Число 5
Чтобы воспользоваться модификатором setw, необходимо включить в программу заголовочный файл iomanip.h.
Тот же самый результат можно получить, если воспользоваться функцией cout.width из библиотеки iomanip.h:
cout <<"Число";
cout.width(l0);
cout<<5<<endl;
Функция cout.fill из библиотеки iomanip.h позволяет указать символ заполнения пустого пространства, который cout будет использовать вместо пробела при выводе данных с помощью модификатора setw или функции cout.width, например: cout.fill(‘.’) ;
Cout<<"Число"<<setw (10) <<5<<endl ;
В результате выполнения этих операторов на экран дисплея будет выведено:
Число.........5
Для управления форматом вывода чисел с плавающей точкой можно воспользоваться манипулятором setprecision из библиотеки iomanip.h, который определяет количество цифр после десятичной точки, например: float x=3.14159265359;
Cout<<setprecision (5) <<x<<endl;
В результате выполнения этих операторов на экран дисплея будет выведено: 3.14159
Для вывода на экран по одному символу за один раз используется функция cout.put. Пример
#include <iostream.h>
void main(void)
{
char с[]="Си++";
cout.put(c[0]);
cout.put (c[2]);
cout.put(c[3]);
}
Результат выполнения программы: C++