- •6. Функции в языке с
- •6.1 Описание функции
- •Void main()
- •6.2 Вызов функции
- •6.3 Варианты описания и использования функций
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •7. Работа со строками
- •7.1 Способы описания строк в программе
- •7.2 Ввод-вывод строк
- •7.3 Функции для работы со строками
- •8. Структуры и объединения в языке с
- •8.1 Описание структур
- •8.2 Инициализация структур
- •8.3 Работа с элементами структур
- •8.4 Структуры и указатели
- •8.5. Битовые поля в структурах
- •Работа с битовыми полями:
- •8.6. Объединения
- •Работа с полями объединения
- •8.7. Отличие объединения от структуры
- •8.8. Применение объединений
- •Void main()
- •9. Файлы в языке c. Функции работы с файлами
- •A) чтение данных из файла
- •Б) запись данных в файл
- •Дополнительные функции для работы с файлами
- •10. Программирование в графическом режиме
- •Функции библиотеки graphics
- •Управление графической системой Управление графическим режимом производится с помощью следующих функций:
- •Черчение и заполнение
- •Управление цветом
- •Обработка ошибок в графическом режиме
- •Функции запроса состояния
- •Void main()
- •11. Директивы препроцессора
- •11.1. Директива #include
- •11.2. Директива #define
- •11.3. Директива #undef
- •12. Побитовые (поразрядные) операции
- •Использование побитовых операций
Управление цветом
Функции получения информации о цвете:
Функция |
Назначение функции |
getbcolor() |
Возврашает текущий цвет фона |
getcolor() |
Возвращает текущий цвет вычерчивания |
getmaxcolor() |
Возвращает максимальное значение цвета, доступное в текущем графическом режиме |
Функции установки одного или более цветов:
Функция |
Назначение функции |
setbkcolor() |
Устанавливает текущий цвет фона |
setcolor() |
Устанавливает текущий цвет вычерчивания |
Обработка ошибок в графическом режиме
Функция |
Назначение функции |
grapherrormsg() |
Возвращает строку с сообщением об ошибке для заданного кода ошибки |
graphresult() |
Возвращает код ошибки для последней графической операции, в которой встретилась ошибка |
Функции запроса состояния
Функция |
Назначение функции |
getdrivername() |
Возвращает имя текущего графического драйвера |
getgraphmode() |
Возвращает текущий графический режим |
getlinesettings() |
Возвращает текущие стиль, шаблон и толщину линии |
getmaxx() |
Возвращает текущее разрешение по оси x |
getmaxy() |
Возвращает текущее разрешение по оси y |
getpixel() |
Возвращает цвет пикселя в (x,y) |
getx() |
Возвращает координату x текущей позиции (CP) |
gety() |
Возвращает координату y текущей позиции (CP) |
Пример. Окружность радиусом 100 пикселей перемещается от левого края экрана к правому с шагом 10 пикселей, изменяя при этом цвет случайным образом .
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
Void main()
{
/* описание переменных для графического режима с автоопределением параметров */
int graphdriver = DETECT, gmode, errorcode;
int x, maxx, midy, color;
int radius = 100;
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка: %s\n", grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midy = getmaxy() / 2; /* определение середины экрана по вертикали */
maxx = getmaxx(); /* определение количества пикселей по горизонтали */
for (x= radius; x <= maxx - radius; x+=10)
{
color = random(getmaxcolor()); /* задание случайного значения цвета */
setcolor(color);
/* рисование окружности */
circle(x, midy, radius);
delay(700); /* Задержка выполнения программы на 0,7 сек. */
}
closegraph(); /* закрытие графического режима */
}
Пример использования графических функций приведен в приложении Г (пример №8).
11. Директивы препроцессора
Директивы препроцессора представляют собой инструкции, записанные в тексте программы на С, и выполняемые до трансляции программы. Директивы препроцессора позволяют изменить текст программы, например, заменить некоторые лексемы в тексте, вставить текст из другого файла, запретить трансляцию части текста и т.п. Все директивы препроцессора начинаются со знака #. После директив препроцессора точка с запятой не ставятся.
