пятница, 2 октября 2015 г.

IV занятие "Средства вывода информации на экран в C/C++"

На четвертом занятии мы научились вводить данные в программу при помощи средств языка C/C++.


Краткое содержание занятия:

1. Для ввода информации в C/C++ используются следующие функции:
  1. cin - чтение из стандартного потока; работает со всеми типами переменных;
  2. scanf - функция форматного ввода; работает со всеми типами переменных;
  3. gets - функция ввода строки символов; работает только с символьными типом данных (char*);
  4. getchar - функция ввода одного символа; работает только с символьными типом данных (char);
  5. getch - функция чтения одного символа без его отображения на экране; работает только с символьными типом данных (char);.

2. Формат записи данных функций следующий:
  • std::cin>>a;
  std:: - в пространстве имен std находится класс cin;
  cin - имя функции (а точнее класса) стандартного потока ввода;
  >> - операция чтения из потока;
  a - переменная, в которую будем читать;

  • scanf("%d",&a);
  scanf() - имя функции форматного ввода;
  "%d" - в кавычках записывается спецификатор формата (означает, что мы вводим десятичное число), см. спецификаторы формата и управляющие символы C/C++;
  &a - куда читаем введенное значение - по адресу & переменной a;

  • gets(char *s); - с данной функцие мы познакомимся попозже, т.к. мы еще не умеем работать со строками, которые в C/C++ представляют массив символов;

  • a=getchar();
  a - переменная, в которую будем читать символ;
  = - знак присваивания;
  getchar() - функция чтения одного символа;

  • a=getch(); 
  a - переменная, в которую будем читать символ; 
  = - знак присваивания;
  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" (в текстовом формате)

Комментариев нет:

Отправить комментарий