Вспомогательные функции консольной библиотеки
Рассмотрим вспомогательные «полезные» функциями консольной библиотеки, используемые вместе с функциями ввода-вывода:
1) очистка экрана
clrscr();
2) задание нового текущего положения курсора на экране
gotoxy(x,y);
где x, y – координаты нового положения курсора, диапазоны возможных изменения координат следующие x=1…80, y=1…25, координате (1,1) соответствует верхний левый угол экрана;
3) изменение текущего цвета символов (в текстовом режиме):
textcolor(c);
где c – цвет символов (с=0…15 или цвета в виде макроопределения, например, BLACK, BLUE, GREEN, RED,…YELLOW, WHITE);
4) изменение текущего звена фона под символами (в текстовом режиме):
textbackground(c);
где c – цвет фона (с=0…7 или цвета в виде макроопределения, например, BLACK, BLUE, …LIGHTGRAY);
Пример 3.2
Создадим программу ввода фамилии в окне. С помощью консольных функций необходимо выполнить следующие операции: очистить экран дисплея, в центре экрана вывести изображение окна (цветная рамка с желтым цветом символов и синим цветом фона) размером 20 столбцов на 3 строки, ввести строку в пределах окна.
Листинг 3.2
/* Рисование окна и ввод фамилии */
#include <conio.h>
void main()
{
char name[15];/*объявление массива символов для ввода строки*/
clrscr(); /* очистка экрана */
textcolor(YELLOW); /* задание цвета символов */
textbackground(BLUE); /* задание цвета фона */
gotoxy(30,11); /* задание положения курсора */
cprintf(“┌────────────────────┐”);
gotoxy(30,12);
cprintf(“│ Введите фамилию │”);
gotoxy(30,13);
cprintf(“│ │”);
gotoxy(30,14);
cprintf(“└────────────────────┘”);
textcolor(CYAN); /* задание цвета символов */
gotoxy(35,13);
cscanf(“%s”,name); /* ввод строки */
}
Примечание: для ввода программы необходимы символы псевдографики. При их вводе можно использовать коды символов:
218 ┌ 196 ─ 191 ┐
179 │ 179 │
192 └ 196 ─ 217 ┘
Функция ввода одиночного символа getch()
Функции scanf() и cscanf() требуют аккуратного ввода данных с клавиатуры, незначительная ошибка при вводе информации приводит к сбоям в работе программ. В добротных программах используется посимвольный ввод данных с помощью функции getch(), определяемую в той же библиотеке <conio.h>. Эта функция имеет два варианта применения:
а) для остановки программы до нажатия произвольной клавиши, например, перед ее завершением. В этом случае листинг программы может быть таким
{
…
getch(); /* Ожидание ввода произвольной клавиши */
}
б) получение кода ASCII нажатой клавиши. Для получения кода клавиши необходимо объявить целую переменную и присвоить результат исполнения функции getch() этой переменной. При этом синтаксис использования функции может быть следующим:
{
int i;
…
i=getch(); /* Ожидание нажатия клавиши и присвоение
ее кода символа переменной i */
…
}
Пример 3.3
Написать программу, принимающую символ с клавиатуры и выдающую его код на экран
Листинг 3.3
/* программа вывода на экран кода нажатой клавиши */
#include <conio.h>
void main()
{
int kod; /* объявление переменной */
clrscr(); /* очистка экрана */
cprintf(“Нажмите клавишу: ”); /* вывод сообщения */
kod=getch(); /* ввод клавиши */
cprintf(“\nКод клавиши: %d\n”); /* вывод кода клавиши */
getch(); /* ожидание нажатия
произвольной клавиши */
}
Дата добавления: 2016-07-27; просмотров: 1327;