C Graphics Library Error

2019-06-04 00:47发布

I have the following code :

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{
    int gd=DETECT,gm;
    int dx,dy,p,end;
    float x1,x2,y1,y2,x,y;
    initgraph(&gd,&gm,"");
    printf("\nEnter the value of x1: ");
    scanf("%f",&x1);
    printf("\nEnter the value of y1: ");
    scanf("%f",&y1);
    printf("\nEnter the value of x2: ");
    scanf("%f",&x2);
    printf("\nEnter the value of y2: ");
    scanf("%f",&y2);
    dx=abs(x1-x2);
    dy=abs(y2-y1);
    p=2*dy-dx;

    if(x1>x2)
    {
        x=x2;
        y=y2;
        end=x1;
    }
    else
    {
        x=x1;
        y=y1;
        end=x2;
    }
    putpixel(x,y,10);
    while(x<end)
    {
        x=x+1;
        if(p<0)
        {
            p=p+2*dy;
        }
        else
        {
            y=y+1;
            p=p+2*(dy-dx);
        }
        putpixel(x,y,10);
    }
    getch();
    closegraph();
}

The code is mainly for creating a line. But when I run this program I get error message in my console(I'm using Ubuntu 10.04 version) as :

test.c:2: fatal error: conio.h: No such file or directory compilation terminated. test.c:2: fatal error: graphics.h: No such file or directory compilation terminated.

Is that mean I have to add some lib to C path?

Thanks in advance.

标签: c graphics
5条回答
该账号已被封号
2楼-- · 2019-06-04 01:02

change

dx=abs(x1-x2);

by this:

dx=abs(x2-x1);
查看更多
乱世女痞
3楼-- · 2019-06-04 01:03

try to use OPENGL and delete the line including conio.h,graphics.h,getch(),closegraph(). Those are used by Turbo C DOS compiler and are obsolete.

查看更多
看我几分像从前
4楼-- · 2019-06-04 01:06

For Ubuntu users the mistake is when we dont have that library. So we include a corresponding library. Type the following command in terminal:

sudo apt-get install libncurses5-dev libncursesw5-dev
查看更多
\"骚年 ilove
5楼-- · 2019-06-04 01:19

conio.h and graphics.h are ancient, non-standard interfaces that came from Borland environments I suppose.

查看更多
forever°为你锁心
6楼-- · 2019-06-04 01:20

Those two headers are Windows-only. For getch() you can emulate it (see here) and for graphics.h you can install libgraph.

查看更多
登录 后发表回答