Рисунок и Си - 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();
}

Объяснение кода листинга программы

В этом коде:

  1. #include<conio.h> — подключает библиотеку для работы с консолью, чтобы можно было использовать функцию getch().
  2. #include<stdio.h> — подключает библиотеку для работы с файлами, чтобы можно было использовать функцию printf().
  3. #include<graphics.h> — подключает библиотеку для работы с графикой.
  4. void face(int x,int y,int k) — объявляет функцию для рисования лица. Принимает три аргумента: x и y — координаты центра лица, k — параметр, определяющий выражение лица.
  5. В функции 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); — рисует кружок для правого глаза.
  6. В функции 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(); — закрывает графический режим. Таким образом, код рисует три лица на экране с разными выражениями.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы