Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП. ЛЕКЦИИ! Готовимся к экзамену))).docx
Скачиваний:
18
Добавлен:
10.12.2018
Размер:
175.63 Кб
Скачать

Функция getch()

Если требуется вводить символы непосредственно в программу, используется функция getch(). Эта функция реализует не буферизованный ввод, т.е. вводимые символы сразу попадают в программу, минуя буфер. При использовании функции getch() ввод не может быть перенаправлен. Символы всегда выводятся на экран, а считываются с клавиатуры. Для использования функции getch() функций в директиве include необходимо указывать библиотечный файл conio.h.

Пример

В программе вычисляется количество букв «а» во введенной строке.

#include <conio.h>

main()

{ char с;

int k=0, i;

cout< < "Введите последовательность из 5 символов \n";

for (i= 1; i<=5; i++)

{ c=getch();

if (c=='a' || c='A')

k++;

}

}

Во время выполнения программы символы не появляются на экране. После ввода каждого символа не надо нажимать клавишу Enter, цикл закончится после набора 5 символов.

Пример

Пользователь вводит пароль из 5 символов, при этом вместо вводимых символов на экране отображается символ '*'.

#include <conio.h>

main()

{ char с[5]; // описывается массив С, состоящий из 5 символов

int k=0, i;

cout< < "Введите последовательность из 5 символов \n";

for (i= 0 ; i<=4; i++)

{ c[i]=getch(); // в элемент массива с[i] заносится набранный на клавиатуре

// символ, который получает функция getch()

cout < < '*';

}

Функцию getch() можно использовать для задержки сообщений на экране.

В библиотеке conio.h так же содержатся функции:

clrscr() – очистка экрана

gotoxy (x1,y1) – позиционирование курсора, х1 – номер строки, y1 – номер столбца (позиции в строке).

Функция printf

Функция printf может быть использована для вывода информации на экран (находится в библиотеке stdio.h).

Формат функции:

printf (Аргумент1, Аргумент2, Аргумент3, ...)

Функция printf формирует и выводит на экран символьную строку из аргументов Аргумент1, Аргумент2, Аргумент3, ..., где

Аргумент1 – это строка символов, которая может включать управляющие последовательности \n \t и т.д., а также знак %.

Знак % указывает место включения в строку символов Аргумента2, Аргумента 3, ...

  • %f – вещественное число, можно указать формат числа;

  • %4.0f – первая цифра - общее количество позиций на число, вторая цифра - количество позиций на дробную часть;

  • %d – десятичное целое число;

  • %о – восьмеричное целое число;

  • %х – шестнадцатеричное целое число;

  • %с – символ

  • %s – символьная строка

Пример

x=142; y=12374.4213;

printf( "\nПри х=%d y=%7.1f ", x , y);

В результате выполнения функции printf на экран выводится сообщение:

При х=142 y= 12374.4

Функция sprintf()

В библиотеке stdio.h имеется еще одна полезная функция – sprintf. В отличие от функции printf функция sprintf не выводит строку на экран, а записывает ее в Аргумент 0. Аргументы 1, 2, 3 и т.д. используются аналогично функции printf.

Формат функции:

sprintf (Аргумент0, Аргумент1, Аргумент2, Аргумент3, ...)

Пример

Сформируем символьную строку buffer из сообщения и значения числа пи:

char buffer[80]; // описывается массив buffer, состоящий из 80 символов

sprintf(buffer, "\n Число Пи = %f\n", M_PI);

В результате выполнения функции sprintf в массив buffer заносится сообщение:

\n Число Пи = 3.14\n

Функция sprintf применима в более новых системах программирования на основе С++, например, в C++ Builder.