读书人

哪位高手能帮小弟我调通这段经典代码

发布时间: 2012-02-08 19:52:21 作者: rapoo

谁能帮我调通这段经典代码?
函数名: getmaxx
功 能: 返回屏幕的最大x坐标
用 法: int far getmaxx(void);
程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy;
char xrange[80], yrange[80];

/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, " ");

/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf( "Graphics error: %s\n ", grapherrormsg(errorcode));
printf( "Press any key to halt: ");
getch();
exit(1); /* terminate with an error code */
}

midx = getmaxx() / 2;
midy = getmaxy() / 2;

/* convert max resolution values into strings */
sprintf(xrange, "X values range from 0..%d ", getmaxx());
sprintf(yrange, "Y values range from 0..%d ", getmaxy());

/* display the information */
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(midx, midy, xrange);
outtextxy(midx, midy+textheight( "W "), yrange);

/* clean up */
getch();
closegraph();
return 0;
}
在vc下当然是不行的,在tc下调,编译都没问题,连接时候出现n多undefined symbol:比如 undefined symbol _getmaxx in main.c,undefined symbol _closegraph in main.c;
真郁闷,对tc算是恨之入骨了,大家知道怎么办吗?或者用别的编译器调试?

用borland c怎么调试啊?我这有bc45,调ucosII用的,但不知道怎么调试这个文件...


[解决办法]
对的,你没有注册图形库~
给各方法给你:
#include "Conio.h "
#include "graphics.h "
#define closegr closegraph

void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, " ");
}

int main(void)
{
initgr(); /* BGI初始化 */

/*****此部分添加你自己的代码,例如
line(25, 25, 220, 220);
circle(100, 100, 50);
等等*****/

getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */


return 0;
}
[解决办法]
用WINTC看看

读书人网 >C语言

热点推荐