Open In App

getarcoords() function in C

Last Updated : 23 Jan, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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 :




Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads