我有以下代码:
#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();
}
代码主要用于创建一条线。但是当我运行这个程序时,我在控制台中收到错误消息(我使用的是Ubuntu 10.04版本):
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.
这是否意味着我必须在C路径中添加一些lib?
提前致谢。
答案 0 :(得分:5)
conio.h
和graphics.h
是我认为来自Borland环境的古老的非标准接口。
答案 1 :(得分:4)
答案 2 :(得分:1)
对于Ubuntu用户来说,错误就是我们没有那个库。所以我们包括一个相应的库。在终端中键入以下命令:
sudo apt-get install libncurses5-dev libncursesw5-dev
答案 3 :(得分:0)
变化
dx=abs(x1-x2);
由此:
dx=abs(x2-x1);
答案 4 :(得分:-1)
尝试使用OPENGL
并删除包含conio.h
,graphics.h
,getch()
,closegraph()
的行。这些由Turbo C DOS编译器使用并且已经过时。