Функции ввода информации


Функция, предназначенная для форматированного ввода исходной информации с клавиатуры:

scanf (управляющая строка , список адресов объектов ввода);

в управляющей строке указываются только модификаторы форматов, количество и порядок следования которых должны совпадать с количеством и порядком следования вводимых объектов, а тип данных будет преобразовываться в соответствии с модификаторами.

Список объектов ввода представляет собой адреса переменных, разделенные запятыми, т.е. для ввода значения переменной перед ее идентификатором указывается символ &, обозначающий операцию «взять адрес».

Если нужно ввести значение строковой переменной, то использовать символ & не нужно, т.к. строка – это массив символов, а ID массива является адресом его первого элемента. Например:

int course;

double grant;

char name[20];

printf (" Укажите курс, стипендию, имя \n ");

scanf ("%d %lf %s", &course, &grant, name);

Вводить данные с клавиатуры можно как в одной строке через пробелы, так и в форме разных строк, нажимая после ввода текущего объекта клавишу Enter.

Функция scanf() использует практически тот же набор модификаторов форматов, что и printf(); отличия от функции вывода следующие: отсутствует формат %g, форматы %e,%f – эквивалентны. Для ввода коротких целых чисел введен модификатор формата %h.

Внимание. Функцией scanf() по формату %s строка вводится только до первого пробела.

Для ввода фраз, состоящих из слов, разделенных пробелами, используется функция

gets (ID строковой переменной);

Символы вводятся при помощи функции getch(). Причем простой ее вызов организует паузу, при которой система программирования приостановит выполнение программы и будет ждать нажатия любой клавиши. Так поступают в том случае, когда нужно просмотреть какие-то результаты работы, при выводе их на экран монитора.

Если же использовать ее в правой части операции присваивания, например:

char c;

. . .

c = getch();

то символьная переменная с получит значение кода нажатой клавиши.

С началом работы любой программы автоматически открываются стандартные потоки для ввода (stdin) и вывода данных (stdout), которые по умолчанию связаны с клавиатурой и экраном монитора соответственно.

Внимание. Ввод данных функциями gets(), getch() выполняется с использованием потока stdin. Если указанная функция не выполняет своих действий (проскакивает), перед использованием необходимо очистить поток (буфер) ввода с помощью функции

fflush(stdin);

__________________________________________________________________

В языке С++ существует наиболее простая с точки зрения использования возможность ввода-вывода - потоковый ввод-вывод, основы которого рассмотрены в разд. 16.1, 16.2.

__________________________________________________________________

 



Дата добавления: 2017-10-04; просмотров: 1020;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.