Управление экраном.
С++ позволяет управлять экраном. Прототипы функций управления экраном находятся в файле conio.h. при использовании этих ффункций необходимо подключить этот файл с помощью директивы компилятора:
#include <conio.h>
Рассмотрим данные функции управления экраном.
Установка окна. Функция
void window (int left, int top, int right, int bottom);
устанавливает текущее текстовое окно на экране (см. рис.). Координаты диагонали left, right, top, bottom всегда отсчитываются от верхнего левого угла экрана в абсолютных координатах и должны удовлетворять следующим условиям:
1 < left < right <25
1 < top < bottom < 80
При нарушении этих условий окно не создается. После установки окна все операции, связанные с выводом информации, производятся внутри текущего окна. Отсчет строк и столбцов для позиционирования курсора теперь производится теперь в координатах текущего окна. Теперь left = 1 и top = 1 это координаты верхнего левого ушла окна. Следует помнить, что при установки окна, очистка не производиться, а также, координаты очередного создаваемого окна всегда даются в абсолютных экранных координатах, а не в относительных координатах последнего текстового окна.
Очистка экрана.
Функция
void clrcsr();
Очищает текущее текстовое окно или весь экран.
Задание цвета фона.
Функция
void textbackground ( int newcolor);
В переменной newcolor задается одна из 16 целочисленных констант, каждая из которых имеет символьное обозначение (см. таб. 2).
Задание цвета символа.
Для задания цвета символа используется функция
void textcolor (int newcolor);
В переменной newcolor задается цвет выводимых на экран символов (см. таб. 2).
Установка курсора.
Для установки курсора в точку (X,Y) внутри текущего окна используется функция
void gotoxy (int x, Int y);
Таблица 2.
Константа цвета |
Обозначение цвета |
Цвет |
0 |
BLACK |
Черный |
1 |
BLUE |
Синий |
2 |
GREEN |
Зеленый |
3 |
CYAN |
Бирюзовый |
4 |
RED |
Красный |
5 |
MAGENTA |
Малиновый |
6 |
BROWN |
Коричневый |
7 |
LIGHTGRAY |
Светло-серый |
8 |
DARKGRAY |
Темно-серый |
9 |
LIGHTBLUE |
Светло-голубой |
10 |
LIGHTGREEN |
Светло-зеленый |
11 |
LIGHTCIAN |
Светло-бирюзовый |
12 |
LIGHTRED |
Светло-красный |
13 |
LIGHTMAGENTA |
Светло-малиновый |
14 |
YELLOW |
Желтый |
15 |
WHITE |
Белый |
Примеры программирования.
Пример 1.
Написать программу нахождения действительных корней квадратного уравнения общего вида . При написании программы использовать функции управления экраном.
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main ()
{
// Установить цвет экрана
textbackground (GREEN);
// Окрасить цвет экрана установленным цветом
clrscr();
// Задать окно
window (5,5,10,50);
// Задать цвет окна
textbackground (BLUE);
// Задать цвет символов
textcolor(RED);
// Окрасить окно установленным цветом
clrscr();
// Коэффициенты a, b, c
int a,b,c;
// Курсор в позицию (1,3)
gotoxy (1,3);
printf (“Введите коэффициенты a b c >”);
// Ввод данных
scanf (“%d%d%d”,&a&b&c);
// Вычисление дискриминанта
float d = b*b-4*a*c;
// Установить окно для вывода результатов
window (5,15,50,20);
textbackground(BLUE);
clrscr();
textcolor(RED);
// Если дискриминант больше 0
if (d>0)
{
// Вычислить корни x1, x2
float x1 = (-b+sqrt(d))/(2*a),
x2 = (-b-sqrt(d))/(2*a);
gotoxy(1,3);
// Печать корней
printf(“Первый корень = %5.2f”,x1);
gotoxy(1,5);
printf(“Второй корень = %5.2f”,x2);
}
// Если корней нет, то вывод сообщения “Корней нет”
else printf (“Корней нет”);
}