Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / 2 / ZHANNA

.CPP
Скачиваний:
22
Добавлен:
16.04.2013
Размер:
1.12 Кб
Скачать
//‹ Ў  ђ®¬л Њ®абЁ­ , ᤥ« ­­лҐ ¤«п † ­­л
//ЉагЈ ЇҐаҐ¬Ґй Ґвбпп Ї® бЇЁа «Ё
#include <graphics.h>
#include <math.h>
#include <dos.h>
#include <conio.h>

float pi=3.14;

int round(double x) {
float n=ceil(x)-x;
	if (n<=0.5) return ceil(x); else return floor(x);
};


void main() {
int gdriver = DETECT, gmode, num_but;
gmode=VGAHI;
initgraph(&gdriver, &gmode,"E:\\C3.1\\bgi");
setwritemode(COPY_PUT);
float r=10;
int x=getmaxx()/2,y=getmaxy()/2,color=WHITE;
float cr=0,fi=0,dfi=pi/50,dr=0.5;
int sgn=1;
int maxx=getmaxx(), maxy=getmaxy(),bkcolor=getbkcolor();
setfillstyle(bkcolor,SOLID_FILL);
while (!kbhit()) {
	   setcolor(color);
	   circle(x,y,r);
	   delay(10);
	   setcolor(bkcolor);
	   circle(x,y,r);
	   putpixel(round((r+2)*sin(fi-pi/2))+x,round((r+2)*cos(fi-pi/2))+y,color);
	   if (sgn==-1) {
			setcolor(bkcolor);
			fillellipse(x,y,r+1,r+1);
			};
	   x=round(cr*sin(fi))+maxx/2;
	   y=round(cr*cos(fi))+maxy/2;
	   cr+=sgn*dr;
	   fi+=sgn*dfi;
	   if ((cr+maxx/2)>=maxx-1-r/2 || (maxx/2-cr)<r/2 ) sgn=-1;
	   if (cr<=0) sgn=1;
	   color++;
	   };
closegraph();
};
Соседние файлы в папке 2