C Graphics Library Error

匿名 (未验证) 提交于 2019-12-03 10:10:24

问题:

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.

回答1:

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



回答2:

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



回答3:

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 


回答4:

change

dx=abs(x1-x2); 

by this:

dx=abs(x2-x1); 


回答5:

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!