На четвертом занятии мы научились вводить данные в программу при помощи средств языка C/C++.
Краткое содержание занятия:
1. Для ввода информации в C/C++ используются следующие функции:
2. Формат записи данных функций следующий:
3. При вводе символов с помощью функций scanf, gets, getchar и getch необходимо пользоваться функцией очистки потока ввода fflush(stdin). Например, вы хотите прочитать один символ: a=getchar(), но при вводе ошибочно ввели два символа. Второй символ останется в буфере и введется при следующей попытке чтения. Чтобы этого не происходило, необходимо чистить поток ввода при помощи вышеуказанной функции. Оператор endl, который обычно записывается после cout автоматически чистит поток, поэтому в таком случае (после употребления endl) чистить поток при помощи fflush(stdin) не нужно.
4. Существует еще одна интересная функция sleep() - задержка выполнения программы. Функция sleep() приостанавливает выполнение программы на время, задаваемое параметром в скобках. Время задается в секундах. Например: sleep (2); При помощи данной функции можно достичь эффекта печатной машинки при выводе. Прототип функции находится в dos.h, поэтому не забываем писать #include <dos.h>.
Краткое содержание занятия:
1. Для ввода информации в C/C++ используются следующие функции:
- cin - чтение из стандартного потока; работает со всеми типами переменных;
- scanf - функция форматного ввода; работает со всеми типами переменных;
- gets - функция ввода строки символов; работает только с символьными типом данных (char*);
- getchar - функция ввода одного символа; работает только с символьными типом данных (char);
- getch - функция чтения одного символа без его отображения на экране; работает только с символьными типом данных (char);.
2. Формат записи данных функций следующий:
- std::cin>>a;
cin - имя функции (а точнее класса) стандартного потока ввода;
>> - операция чтения из потока;
a - переменная, в которую будем читать;
- scanf("%d",&a);
"%d" - в кавычках записывается спецификатор формата (означает, что мы вводим десятичное число), см. спецификаторы формата и управляющие символы C/C++;
&a - куда читаем введенное значение - по адресу & переменной a;
- gets(char *s); - с данной функцие мы познакомимся попозже, т.к. мы еще не умеем работать со строками, которые в C/C++ представляют массив символов;
- a=getchar();
= - знак присваивания;
getchar() - функция чтения одного символа;
- a=getch();
= - знак присваивания;
getch() - функция чтения одного символа без отображения его на экране;
3. При вводе символов с помощью функций scanf, gets, getchar и getch необходимо пользоваться функцией очистки потока ввода fflush(stdin). Например, вы хотите прочитать один символ: a=getchar(), но при вводе ошибочно ввели два символа. Второй символ останется в буфере и введется при следующей попытке чтения. Чтобы этого не происходило, необходимо чистить поток ввода при помощи вышеуказанной функции. Оператор endl, который обычно записывается после cout автоматически чистит поток, поэтому в таком случае (после употребления endl) чистить поток при помощи fflush(stdin) не нужно.
4. Существует еще одна интересная функция sleep() - задержка выполнения программы. Функция sleep() приостанавливает выполнение программы на время, задаваемое параметром в скобках. Время задается в секундах. Например: sleep (2); При помощи данной функции можно достичь эффекта печатной машинки при выводе. Прототип функции находится в dos.h, поэтому не забываем писать #include <dos.h>.
Листинг программы "input":
Скачать листинг программы "Hello World" (в текстовом формате)
Комментариев нет:
Отправить комментарий