linerel() function in C

Last Updated : 4 Dec, 2019
The header file graphics.h contains linerel() function which draws a line from the current position (x_pos1, y_pos1) to a point that is at a relative distance (x, y) from the Current Position, then advances the Current Position by (x, y). Note : Use getx() and gety() to find the current position. Syntax :
linerel(int x, int y);

The end position is calculated as :
x_pos2 = x_pos1 + x;
y_pos2 = y_pos1 + y;
Examples :
Input : x_pos1 = 0, y_pos1 =0, x = 200, y = 100
Output : 

Input : x_pos1 = 100, y_pos1 = 150, x = 150, y = 60
Output : 
CASE 1 : When the current position is at origin i.e, (0,0) Below is the implementation of linerel() function in C: C
// C Implementation for linerel()
#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;
    char arr[100];

    // initgraph initializes the
    // graphics system by loading a
    // graphics driver from disk
    initgraph(&gd, &gm, "");

    // linerel function
    linerel(200, 100);

    // sprintf stands for “String print”.
    // Instead of printing on console,
    // it store output on char buffer
    // which are specified in sprintf
    sprintf(arr, "Current x position = %d and "
             "y position = %d", getx(), gety());

    // outtext function displays
    // text at current position.
    outtextxy(100, 150, arr);

    getch();

    // closegraph function closes the
    // graphics mode and deallocates
    // all memory allocated by
    // graphics system .
    closegraph();

    return 0;
}
Output :

CASE 2 : When the current position is other than origin, (100, 150). Below is the implementation of linerel() function in C: C
// C Implementation for linerel()
#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;
    char arr[100];

    // initgraph initializes the
    // graphics system by loading a
    // graphics driver from disk
    initgraph(&gd, &gm, "");

    // Change current position using
    // moveto function
    moveto(100, 150);

    // linerel function
    linerel(150, 60);

    // sprintf stands for “String print”.
    // Instead of printing on console,
    // it store output on char buffer
    // which are specified in sprintf
    sprintf(arr, "Current x position = %d and "
             "y position = %d", getx(), gety());

    // outtext function displays
    // text at current position.
    outtextxy(100, 150, arr);

    getch();

    // closegraph function closes the
    // graphics mode and deallocates
    // all memory allocated by
    // graphics system .
    closegraph();

    return 0;
}
Output :

Comment