Tutorialspoint.dev

getarcoords() function in C

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 :




This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter