Метод cout.width (int i) позволяет указать минимальное количество символов, которое cout будет использовать для вывода следующего значения. Пример:
#include"iostream.h"
#include"conio.h"
void main()
{
for(int i=1; i<5; i++) { cout<<"Моё число:"; cout.width(i); cout<<9<<'\n'; } _getch(); }
Результатом будет следующее:
Моё число:9
Моё число: 9
Моё число: 9
Моё число: 9
Такую же работу выполняет функция setw(int i) определённая в iomanip.h.
По умолчанию используется пробел, но если хотите изменить,то для этого есть метод cout.fill(char t). Например следующая программа меняет пробел на точки.
#include"iostream.h"
#include"conio.h"
void main()
{
cout.fill('.');
for(int i=4; i<8; i++) { cout<<"Моё число:"; cout.width(i); cout<<9<<'\n'; } _getch(); }
Результатом будет:
Моё число:...9
Моё число:....9
Моё число:.....9
Моё число:......9
Точки будут использоваться в программе до тех пор пока вновь не будет вызвана функция cout.fill c новым аргументом.
При использовании cout для чисел с плавающей запятой трудно предположить сколько символов будет после запятой. При помощи функциии setprecision(int i) определённой в iomanip.h можно задать ограничение на количество цифр после запятой. Следующая программа демонстрирует вышесказанное:
#include"iostream.h"
#include"iomanip.h"
#include"conio.h"
void main(void)
{
float value = 1.23456;
int i;
for(i=1; i<6; i++) cout<
Результат будет:
1.2
1.23
1.235
1.2346
1.23456
Если вашей программе нужно выводить символы на дисплей по одному символу за раз, то для этого в iostream.h опредена функция cout.put(). Например:
#include"iostream.h"
#include"conio.h"
void main(void)
{
char string[]="Эта строка выводится по одному символу";
int i;
for(i=0; string[i];i++)
{cout.put(string[i]);
_getch();
}
}
Если необходимо вводить символы по одному, то для этого есть функция cin.get(), которая считывает символ с клавиатуры и возвращает его в программу,где символ присваивается переменной.
simbol=cin.get();
Например:
#include"iostream.h"
#include"ctype.h" // прототип toupper()
#include"conio.h"
void main(void)
{
char simbol;
cout<<"Continue? (Y/N): "; do{ simbol=cin.get(); simbol=toupper(simbol); }while((simbol!='Y')&&(lettter!='N')); cout<<"Your answer: "<
В предыдущей программе была ипользованна функция touper(), которая преобразовывает символ в верхний регистр. Прототип этой функции хранится в ctype.h.
Для чтения с клавиатуры целой строки используется метод cin.getline().
cin.getline(string, 64);
Например:
#include"iostream.h"
#include"conio.h"
void main(void)
{
char string[128];
cout<<"Введите строку символов и нажмите Enter"; cin.getline(string,128); cout<<"Вы ввели: "<
Для определения размера массива очень удобно использовать оператор с++ sizeof().
cin.getline(string,sizeof(string));
Есть ещё один параметр метода cin.getline(). С его мощью можно указать символ, после ввода которого последующие введённые символы не считываются.
Например:
#include"iostream.h"
#include"conio.h"
void main(void)
{
char string[128];
cout<<"Введите строку текста и нажмите Enter"; cin.getline(string,128,'a'); cout<<"вы ввели: "<
Ну вот и всё... Вообще есть и другие методы cin и cout, но эти наиболее часто используемые.