The header file graphics.h contains getarccoords() function which is used to get coordinates of arc which is drawn most recently. arccoordstype is a predefined structure which is defined as follows:
Syntax :
struct arccoordstype { // center point of arc int x, y; // start position int xstart, ystart; // end position int xend, yend; };
Note : address of a structure variable of type arccoordstype is passed to function getarccoords.
Syntax :
void getarccoords(struct arccoordstype *var);
Example :
Input : x = 250, y = 200, s_angle = 0 , e_angle = 90, radius = 100 Output :
Below is the implementation of getarccoords() function
// C Implementation for getarccoords() #include <graphics.h> #include <stdio.h> // driver code int main()
{ // gm is Graphics mode which is
// a computer display mode that
// generates image using pixels.
// DETECT is a macro defined in
// "graphics.h" header file
int gd = DETECT, gm;
// p is structure variable
// of type arccoordstype
struct arccoordstype p;
char arr[100];
// initgraph initializes the
// graphics system by loading a
// graphics driver from disk
initgraph(&gd, &gm, "" );
// arc function is used to draw an
// arc the first 2 arguments are
// center of arc 3rd and 4th
// arguments are starting and
// ending angles. Last argument
// is the radius.
arc(250, 200, 0, 90, 100);
// getarccoords function which takes
// address of a structure variable of
// type arccoordstype as an argument.
getarccoords(&p);
// sprintf stands for “String print”.
// Instead of printing on console, it
// store output on char buffer which
// are specified in sprintf
sprintf (arr, "(%d, %d)" , p.xstart,
p.ystart);
// outtext function displays text
// at current position.
outtextxy(360, 195, arr);
sprintf (arr, "(%d, %d)" , p.xend,
p.yend);
outtextxy(245, 85, arr);
getch();
// closegraph function closes the
// graphics mode and deallocates
// all memory allocated by
// graphics system .
closegraph();
return 0;
} |
Output :