首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个关于conio.h文件里函数的有关问题,编译说找不到函数原型--请大家帮帮

2012-02-13 
一个关于conio.h文件里函数的问题,编译说找不到函数原型--请大家帮帮下面这段代码里的textbackground,text

一个关于conio.h文件里函数的问题,编译说找不到函数原型--请大家帮帮
下面这段代码里的textbackground,textcolor,cprintf都说没有函数原型,可是在conio.h文件里已经有他们的定义了,希望大家帮忙解答,小弟先谢谢!
还有我是新来的不知道怎么结贴,希望大家教教,不要见笑!我用的是Turbo   c   3.1   路径配置应该没问题

#include   <stdio.h>
#include   <dos.h>
#include   <conio.h>
#include   <string.h>
#include   <math.h>
#include   <stdlib.h>
#define   HEX   0
#define   DEC   1
#define   OCT   2
#define   BIN   3

int   index=0,   choice=0;
//   初始化鼠标器
void   initmouse()
{
_AX   =   0;
                geninterrupt(0x33);
}

/*显示鼠标光标*/
void   showmouse(void)
{
_AX   =   1;
                geninterrupt(0x33);
}

/*隐藏鼠标*/
void   hidemouse(void)
{
_AX   =   2;
                geninterrupt(0x33);
}

/*取鼠标状态和鼠标位置*/
void   getmouse(int   *button,   int   *x,   int   *y)
{
_AX   =   3;
_BX   =   0;
geninterrupt(0x33);
*button   =   _BL;
*x   =   _CX;
                *y   =   _DX;
}

/*设置程序中的数字字符表*/
int   getnum(char   c)
{
int   j;
char   alpha_set[36]   =   "0123456789abcdefghijklmnopqrstuvwxyz ";
for   (j=0;j <36;j++)
{
if   (alpha_set[j]   ==   c)
                                break;
}

                return   j;
}

/*把任意radix进制的数,转换为十进制数*/
unsigned   long   convert_to_decimal(char   *_num,   int   radix)
{
int   i,   len;
unsigned   long   dec=0;
len   =   strlen(_num);
len--;

for(i=0;_num[i]!=NULL;i++,len--)
{
                dec   +=   (getnum(_num[i])*pow(radix,len);
}

                return   dec;
}

/*在给定的坐标(x,y)的位置显示一个字符串*/
void   display(int   x,int   y,char   string[80])
{
gotoxy(x,   y);
                cprintf(string);   //
}

/*清屏,并把背景色设置为青绿色*/
void   make_screen_cyan(void)
{
textbackground(CYAN);
                clrscr();
}

/*绘制程序的起始界面*/
void   start_screen(void)
{
index   =   0;
hidemouse();
make_screen_cyan();
textbackground(RED);
textcolor(BLACK);
display(20,   1,   "Radix   Converter   by   NJLOY   MONDAL. ");
display(10,   2,   "Email:-yiwei@zju.edu.cn ");
display(30,   3,   "Please   Escape   to   Quit! ");
textbackground(CYAN);
display(10,   5,   "Hexadecimal:- ");
display(10,   7,   "Decimal         :- ");
display(10,   9,   "Octal             :- ");
display(10,   11, "Binary           :- ");


textbackground(BLUE);
display(23,   5,   "                           ");
display(23,   7,   "                           ");
display(23,   11, "                           ");

if   (choice   ==   HEX)
gotoxy(24,   5);
else   if   (choice==DEC)
gotoxy(24,   7);
else   if   (choice==OCT)
gotoxy(24,   9);
else   if   (choice==BIN)
gotoxy(24,   11);
                showmouse();
}

//主函数
void   main()
{
char   test[80]= "\0 ";
char   buffer[80];
char   ch,   *charhex,   *chardec,   *charoct,   *charbin;
int   button,   mousex,   mousey,   x,   y;
unsigned   long   deci;
initmouse();
start_screen();
showmouse();
while(1)
{
if   (kbbit())
{
ch   =   getch();
//ESCAPE   键的ASCII值是27,如果按Esc键,程序结束
if   (ch   ==   27)
break;
if   (   (ch   ==   '\b ')   &&   (wherex()> =24)   )
{
//把光标退后一格,并且放一个空格在哪里
printf( "\b ");
                                                                printf( "%c ",   255);
//再把光标退后一格,弹出删除的字符
printf( "\b ");
if   (index   !=   0)
index--;
                                                                text[index]   =   NULL;

}
else   if   (   (wherex()> =24)   &&   (ch> = '0 ')   &&   (ch <= 'f ')   )
{
printf( "%c ",   ch);
//把字符放入字符数组
text[index]=ch;
//把数组最后一位置零
                                                                text[index+1]=NULL;
}

//保存当前的坐标
x=wherex();
y=wherey();
/*程序首先把字符串通过convert_to_decimal()转化为十进制数,之后调用
stdlib.h定义的ltoa()把十进制数转化为其他进制数,比如二进制,八进制,十六进制登,*/
switch(choice)
{
case   HEX:
deci   =   convert_to_decimal(text,   16);
gotoxy(24,   7);
printf( "%ld         ",   deci);
gotoxy(24,   11);
printf( "%s           ",   ltoa(deci,   buffer,   2));
gotoxy(24,   9);
printf( "%s           ",   ltoa(deci,   buffer,   8));
break;
case   DEC:
deci   =   atol(text);
gotoxy(24,   5);
printf( "%s           ",   ltoa(deci,   buffer,   16));
gotoxy(24,   9);


printf( "s             ",   ltoa(deci,   buffer,   8));
gotoxy(24,   11);
printf( "%s           ",   ltoa(deci,   buffer,   2);
break;
case   OCT:
deci   =   convert_to_decimal(text,   8);
gotoxy(24,   7);
printf( "%ld         ",   deci);
gotoxy(24,   5);
printf( "%s           ",   ltoa(deci,   buffer,   16));
gotoxy(24,   11);
printf( "%s           ",   ltoa(deci,   buffer,   2));
break;
case   BIN:
deci   =   convert_to_decimal(text,   2);
gotoxy(24,   5);
printf( "%s           ",   ltoa(deci,   buffer,   16));
gotoxy(24,   7);
printf( "%ld         ",   deci);
gotoxy(24,   9);
printf( "%s           ",   ltoa(deci,   buffer,   8);
                                                                break;
}

                                                gotoxy(x,y);
}
getmouse(&button,   &mousex,   &mousey);
mousex++;
mousey++;
///下面的代码检测在什么地方按了什么按钮
if   (   (mousex/8> 23)   &&   (mousex/8 <50)   &&   (mousey/16==2)   &&   (button&1==1)   )
{
choice=HEX;
                                                start_screen();
}
else   if   (   (mousex/8> 23)   &&   (mousex/8 <50)   &&   (mousey/16==3)   &&   (button&1==1)   )
{
choice   =   DEC;
                                                start_screen();
}
else   if((mousex/8> 23)   &&   (mousex/8 <50)   &&   (mousey/16==4)   &&   (button&1==1)   )
{
choice=OCT;
                                                start_screen();
}
else   if   ((mouse/8> 23)   &&   (mousex/8 <50)   &&   (mousey/16==5)   &&   (button&1==1)   )
{
choice=BIN;
                                                start_screen();
                                }
                }
}

------解决方案--------------------


_AX = 3;
_BX = 0;

都没定义啊
[解决办法]
只能是环境配置的问题了 ~
[解决办法]
厄,那些 在头文件中有定义了 ~
[解决办法]
错误挺多的哦。

自己查一下吧

热点排行