Code for Program to draw a circle using MidPoint Circle
Algorithm in C++ Programming
# include <iostream.h>
# include <graphics.h>
# include <conio.h>
# include <math.h>
void show_screen( );
void midpoint_circle(constint,constint,constint);
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);
midpoint_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;
}
/*************************************************************************/
//----------------------- midpoint_circle( ) --------------------------
///************************************************************************
*/void midpoint_circle(constint h,constint k,constint r)
{
int color=getcolor( );
int x=0;
int y=r;
int p=(1-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+=((2*x)+1);
else
{
y--;
p+=((2*(x-y))+1);
}
}
while(x<=y);
}
/*************************************************************************/
//-------------------------- show_screen( ) ---------------------------
///************************************************************************
*/void show_screen( )
{
restorecrtmode( );
textmode(C4350);
cprintf("n****************************************************************
****************");
cprintf("*-***********************- -
**********************-*");
cprintf("*------------------------- ");
textbackground(1);
cprintf(" MidPoint Circle Algorithm ");
textbackground(8);
cprintf(" ------------------------*");
cprintf("*-***********************- -
**********************-*");
cprintf("*-
***************************************************************************
*-*");
for(int count=0;count<42;count++)
cprintf("*-*
*-*");
gotoxy(1,46);
cprintf("*-
***************************************************************************
*-*");
cprintf("*----------------------------------------------------------
--------------------*");
cprintf("******************************************************************
**************");
gotoxy(1,2);
}

Code for program to draw a circle using mid point circle algorithm in c

  • 1.
    Code for Programto draw a circle using MidPoint Circle Algorithm in C++ Programming # include <iostream.h> # include <graphics.h> # include <conio.h> # include <math.h> void show_screen( ); void midpoint_circle(constint,constint,constint); 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); midpoint_circle(h,k,r); setcolor(15); outtextxy(110,460,"Press <Enter> to continue or any other key to exit."); int key=int(getch( ));
  • 2.
    if(key!=13) break; } while(1); return 0; } /*************************************************************************/ //----------------------- midpoint_circle() -------------------------- ///************************************************************************ */void midpoint_circle(constint h,constint k,constint r) { int color=getcolor( ); int x=0; int y=r; int p=(1-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+=((2*x)+1); else { y--; p+=((2*(x-y))+1); } } while(x<=y); } /*************************************************************************/ //-------------------------- show_screen( ) --------------------------- ///************************************************************************ */void show_screen( ) { restorecrtmode( ); textmode(C4350); cprintf("n**************************************************************** ****************"); cprintf("*-***********************- - **********************-*"); cprintf("*------------------------- ");
  • 3.
    textbackground(1); cprintf(" MidPoint CircleAlgorithm "); textbackground(8); cprintf(" ------------------------*"); cprintf("*-***********************- - **********************-*"); cprintf("*- *************************************************************************** *-*"); for(int count=0;count<42;count++) cprintf("*-* *-*"); gotoxy(1,46); cprintf("*- *************************************************************************** *-*"); cprintf("*---------------------------------------------------------- --------------------*"); cprintf("****************************************************************** **************"); gotoxy(1,2); }