C语言程序出现Undefined symbol_closegraph in module怎么办?

来源:百度知道 编辑:UC知道 时间:2024/06/29 23:03:03
我照着书上的程序输入:
#include<graphics.h>
#include<stdlib.h>
void main()
{int driver=CGA,mode=CGAC1,i;
int x[100],y[100];
initgraph(&driver,&mode," ");
for(i=1;i<=100;i++)
{x[i]=(int)(random(320));
y[i]=(int)(random(200));
putpixel(x[i],y[i],3);}
for(;!kbhit();)
{for(i=1;i<=100;i+=2)
putpixel(x[i]+1,y[i],3);
delay(200);
for(i=1;i<=100;i+=2)
putpixel(x[i]+1,y[i],0);
delay(300);}
closegraph();
}
发现运行不了,出现上面的那个错误提示.盼高手作答.越快越好.

<graphics.h>是TC里面的图形库,如果要用的话应该用TC来编译,VC++有他自己的另外图形库!
Tc中用initgraph()函数可以切换到图形模式,用closegraph()可以从图形模式切换回字符模式。

initgraph()和closegraph()都是图形函数,使用图形函数必须包括头文件"graphics.h"。

void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);

graphdriver是指向图形驱动序号变量的指针,
graphmode是在graphdriver选定后,指向图形显示模式序号变量的指针,
pathtodriver表示存放图形驱动文件的路径。
图形驱动序号不同,图形驱动文件也不同。序号为VGA图形驱动对应"egavga.bgi"这个图形驱动文件。
"egavga.bgi"一般在 Tc目录下

例如:
-------
#include <graphics.h>

int Drive,Mode=DETECT;
initgraph(&Drive,&Mode,""); //图形显示器、显示模式、路径自动检测

运行时需要在当前目录下存在 EGAVGA.BGI文件
在TC\BGI目录底下

-------
如果编译后的.exe文件在另外一个目录(如编译后的.exe文件在D:\MyTc 目录下,而编译器的程序和.BGI文件在C:\Turboc\bin 目录下,则需要填上BGI文件的路径
例如:
initgraph(&Drive,&Mode,"C:\\Turboc\\bgi");

希望对你有帮助。