# Program to draw a circle using Bresenhams Circle Algorithm

``` # include <iostream.h>
# include <graphics.h>
# include    <conio.h>
# include     <math.h>

void show_screen( );

void bresenham_circle(const int,const int,const int);

int main( )
{
int driver=VGA;
int mode=VGAHI;

int h=0;
int k=0;
int r=0;

do
{
show_screen( );

gotoxy(8,10);
cout<<\"Central Point of the Circle : (h,k) :\";

gotoxy(8,11);
cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

gotoxy(12,13);
cout<<\"Enter the value of h = \";
cin>>h;

gotoxy(12,14);
cout<<\"Enter the value of k = \";
cin>>k;

gotoxy(8,18);
cout<<\"Radius of the Circle : r :\";

gotoxy(8,19);
cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

gotoxy(12,21);
cout<<\"Enter the value of r = \";
cin>>r;

initgraph(&driver,&mode,\"..\\\\Bgi\");

setcolor(15);
bresenham_circle(h,k,r);

setcolor(15);
outtextxy(110,460,\"Press <Enter> to continue or any other key to exit.\");

int key=int(getch( ));

if(key!=13)
break;
}
while(1);

return 0;
}

//----------------------  bresenham_circle( )  --------------------------//

void bresenham_circle(const int h,const int k,const int r)
{
int color=getcolor( );

int x=0;
int y=r;
int p=(3-(2*r));

do
{
putpixel((h+x),(k+y),color);
putpixel((h+y),(k+x),color);
putpixel((h+y),(k-x),color);
putpixel((h+x),(k-y),color);
putpixel((h-x),(k-y),color);
putpixel((h-y),(k-x),color);
putpixel((h-y),(k+x),color);
putpixel((h-x),(k+y),color);

x++;

if(p<0)
p+=((4*x)+6);

else
{
y--;
p+=((4*(x-y))+10);
}
}
while(x<=y);
}

//--------------------------  show_screen( )  ---------------------------//

void show_screen( )
{
restorecrtmode( );
textmode(C4350);

cprintf(\"\\n********************************************************************************\");
cprintf(\"***********************-                                -***********************\");
cprintf(\"*----------------------- \");

textbackground(1);
cprintf(\" Bresenham\'s Circle Algorithm \");
textbackground(8);

cprintf(\" -----------------------*\");
cprintf(\"***********************-                                -***********************\");
cprintf(\"*-****************************************************************************-*\");

for(int count=0;count<42;count++)
cprintf(\"*-*                                                                          *-*\");

gotoxy(1,46);
cprintf(\"*-****************************************************************************-*\");
cprintf(\"*------------------------------------------------------------------------------*\");
cprintf(\"********************************************************************************\");

gotoxy(1,2);
}
```

Didn't find what you were looking for? Find more on Program to draw a circle using Bresenhams Circle Algorithm