Рисунок и Си - C (СИ)
Формулировка задачи:
Доброго времени суток.
Нужно создать программу рисующую картину с помощью элементарных фигур.
Я хз как в си рисовать, да и в делфи проблема была... Может есть у кого-нибудь какой-нибудь приметивненький рисуночек? Или кто знает накидайте пожалуста типа там домика кого-нибудь. не важно что, главное сдать чтоб отстали)
Заранее благодарен!
Решение задачи: «Рисунок и Си»
textual
Листинг программы
#include<conio.h> #include<stdio.h> #include<graphics.h> void face(int x,int y,int k) {setfillstyle(SOLID_FILL,YELLOW); setcolor(YELLOW); pieslice(x,y,0,360,50); setcolor(BLACK); if(k==1) arc(x,y+45,210,330,25); else if(k==-1) arc(x,y+45,30,150,22); else line(x-16,y+25,x+16,y+25); line(x,y-5,x,y+25); circle(x-15,y-12,4); circle(x+15,y-12,4); } main() { int gdriver=DETECT; int gmode; initgraph(&gdriver,&gmode,"C:\\TC\\BGI"); face(150,200,0); face(320,200,-1); face(490,200,1); getch(); closegraph(); }
Объяснение кода листинга программы
В этом коде:
#include<conio.h>
— подключает библиотеку для работы с консолью, чтобы можно было использовать функциюgetch()
.#include<stdio.h>
— подключает библиотеку для работы с файлами, чтобы можно было использовать функциюprintf()
.#include<graphics.h>
— подключает библиотеку для работы с графикой.void face(int x,int y,int k)
— объявляет функцию для рисования лица. Принимает три аргумента:x
иy
— координаты центра лица,k
— параметр, определяющий выражение лица.- В функции
face()
: —setfillstyle(SOLID_FILL,YELLOW);
— устанавливает стиль заливки фигур на жёлтый цвет. —setcolor(YELLOW);
— устанавливает цвет контура на жёлтый. —pieslice(x,y,0,360,50);
— рисует сектор окружности (лицо) от 0 до 360 градусов, радиусом 50, с центром в точкеx
,y
. —setcolor(BLACK);
— устанавливает цвет контура на чёрный. — Еслиk==1
, рисует улыбку. — Еслиk==-1
, рисует грусть. — Еслиk
другое значение, рисует нейтральное выражение. —line(x-16,y+25,x+16,y+25);
— рисует горизонтальную линию для рта. —line(x,y-5,x,y+25);
— рисует вертикальную линию для носа. —circle(x-15,y-12,4);
— рисует кружок для левого глаза. —circle(x+15,y-12,4);
— рисует кружок для правого глаза. - В функции
main()
: —int gdriver=DETECT;
— инициализирует переменнуюgdriver
значением, определяемым функциейDETECT()
. —int gmode;
— инициализирует переменнуюgmode
значением, определяемым функциейinitgraph()
. —initgraph(&gdriver,&gmode,
C:\TC\BGI);
— инициализирует графический режим и подключает драйвер графики. —face(150,200,0);
— вызывает функциюface()
с координатами центра лица (150,200) и нейтральным выражением. —face(320,200,-1);
— вызывает функциюface()
с координатами центра лица (320,200) и грустным выражением. —face(490,200,1);
— вызывает функциюface()
с координатами центра лица (490,200) и улыбкой. —getch();
— вызывает функцию для получения ввода из консоли. —closegraph();
— закрывает графический режим. Таким образом, код рисует три лица на экране с разными выражениями.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д