![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Вспомогательные функции консольной библиотеки
Рассмотрим вспомогательные «полезные» функциями консольной библиотеки, используемые вместе с функциями ввода-вывода: 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 */ … }
|