这个程序到底哪里错了....怎么老提示我声明错误
<P>#include "graphics.h"<BR>#include "conio.h"<BR>#include "bios.h"<BR>#include "process.h"<BR>#include "string.h"<BR>#include "stdio.h"</P><P><BR>#define UP 328<BR>#define DOWN 336<BR>#define ALT_X 301<BR>#define ENTER 13</P>
<P>void Slt_MMenu(void);<BR>void Slt_SMenu(void);<BR>void SltMenu(void);<BR>void Draw_MMenu(void);<BR>void Draw_SMenu(void);<BR>void Screen(void);<BR>void Wind(int,int,int,int,int,int,int,int,int);<BR>void Quit(void);<BR>int GetKey(void);<BR>void Begin(void);</P>
<P><BR>/*设置全局变量*/<BR>int Mn = 0; /* 控制主菜单的选项 */<BR>int smm[1]; /* 各项主菜单下的子菜单选项 */<BR>int SbNum =7; /* 各项主菜单的子菜单项数 */<BR>int Sbwid =11; /* 各项子菜单的窗口宽度 */<BR>int Sbx = 5; /* 各项子菜单的X坐标 */<BR>int key = 0; /* 选择的键 */</P>
<P>char Buffer[1024]; /* 缓冲区 */<BR>char *Main[1]={"文件"};<BR>/* 各个子菜单名称 */<BR>char *Sub[7]={"新建","打开","保存","另存为","页面设置","打印","退出"};<BR>/* 主程序部分的函数调用 */<BR>int main()<BR>{<BR> window(1,1,80,25);<BR> textattr(0x17);<BR> clrscr();<BR> window(1,1,80,25);<BR> Draw_MMenu();<BR> Begin();<BR> Draw_SMenu();<BR> SltMenu();<BR> Quit();<BR> return(0);<BR>}<BR>void Begin(void)<BR>{<BR> while(GetKey()==ENTER)<BR> {<BR> Draw_SMenu();<BR> SltMenu();<BR> }<BR>}<BR>void Draw_MMenu(void)/* 绘画主菜单部分 */<BR>{<BR> int n;<BR> window(1,1,80,25);/* 窗口设定,定位基本的25*80大小 */<BR> textattr(0x3f);<BR> <BR> <BR> gotoxy(5,1);<BR> cputs(Main[0]);<BR> <BR> <BR> gotoxy(5,1);<BR> textattr(0x17);<BR> cputs(Main[Mn]);<BR>}</P>
<P>void Draw_SMenu(void)<BR>{<BR> int i;<BR> gettext(3,2,16,7,Buffer);/* 储存范围从(2,2)到窗体长度,窗体宽度的内容到缓冲区内 */<BR> Wind(3,2,14,10,1,2,4,14,9);<BR> textattr(0x6a);<BR> i=0;<BR> while(i<7)<BR> {<BR> gotoxy(2,i+1);<BR> cputs(Sub[i]);<BR> i++;<BR> }</P>
<P>}<BR>void SltMenu(void)<BR>{<BR> while(key!=ALT_X)<BR> {<BR> key=GetKey();<BR> if(key==UP||key==DOWN)<BR> Slt_SMenu();<BR> }<BR> return;<BR>}<BR>void Slt_MMenu(void)<BR>{<BR> window(1,1,80,25);<BR> textattr(0x3e);<BR> gotoxy(5,1);<BR> cputs(Main[0]);<BR> textattr(0x31);<BR> puttext(3,2,16,7,Buffer);<BR> textattr(0x3e);<BR> gotoxy(5,1);<BR> cputs(Main[0]);<BR> Draw_SMenu();<BR>}</P>
<P>void Slt_SMenu(void)<BR>{<BR> textattr(0x3f);<BR> gotoxy(2,1+smm[Mn])<BR> cputs(Sub[smm[Mn]]);<BR> if(key==UP)<BR> {<BR> if(smm[Mn]==0)<BR> smm[Mn]=0;<BR> else<BR> smm[Mn]=smm[Mn]-1;<BR> }<BR> if(key==DOWN)<BR> {<BR> if(smm[Mn]==SbNum-1)<BR> smm[Mn]=SbNum-1;<BR> else<BR> smm[Mn]=smm[Mn]+1;<BR> }<BR> textattr(0x1e);<BR> gotoxy(2,smm[Mn]+1);<BR> cputs(Sub[smm[Mn]]);<BR>}</P>
<P><BR>int GetKey(void)<BR>{<BR> int key;<BR> while(bioskey(1)==0);<BR> key=bioskey(0); <BR> key=key&0xff ? key&0xff:key>>8; <BR> return(key); <BR>} </P>
<P><BR>/* 窗口类型函数 */<BR>/* outline 为轮廓有无,0无,1单框,2双框 */<BR>/* BK 为阴影控制 */<BR>/* Wcol为字体颜色 */<BR>/* Bcol为背景颜色 */<BR>/* Bgcl为阴影颜色 */<BR>void Wind(int x1,int y1,int x2,int y2,int outline,int BK,int Wcol,int Bcol,int Bgcl)<BR>{<BR> int i;<BR> int c[2][6]={{0xda, 0xc4, 0xbf, 0xb3, 0xc0, 0xd9}, /* 对应ASCII码单线字符 */<BR> {0xc9, 0xcd, 0xbb, 0xba, 0xc8, 0xbc}}; /* 对应ASCII码双线字符 */<BR> textcolor(Wcol);<BR> textbackground(Bcol);<BR> window(x1, y1, x2, y2);<BR> clrscr();<BR> if (outline) /* 有边框线 */<BR> {<BR> window(1, 1, 80, 25);<BR> gotoxy(x1, y1);<BR> putch(c[outline-1][0]);<BR> for (i = x1+1; i < x2; i++)<BR> putch(c[outline-1][1]);<BR> putch(c[outline-1][2]);<BR> for (i = y1+1; i < y2; i++)<BR> {<BR> gotoxy(x1, i);<BR> putch(c[outline-1][3]);<BR> gotoxy(x2, i);<BR> putch(c[outline-1][3]);<BR> }<BR> gotoxy(x1, y2);<BR> putch(c[outline-1][4]);<BR> for (i = x1+1; i < x2; i++)<BR> putch(c[outline-1][1]);<BR> putch(c[outline-1][5]);<BR> }<BR> if (BK!=0) /* 有阴影背景 */<BR> {<BR> textcolor(Bgcl);<BR> textbackground(0);<BR> for (i = y1+1; i < y2+1; i++)<BR> {<BR> gotoxy(x2+1, i);<BR> putch('\xb1');<BR> }<BR> for (i = x1+1; i < x2+2; i++)<BR> {<BR> gotoxy(i, y2+1);<BR> putch('\xb1');<BR> }<BR> }<BR> window(x1+1, y1+1, x2-1, y2-1);<BR>}</P>
<P>void Quit(void)<BR>{<BR> textbackground(0);<BR> textcolor(5);<BR> window(1,1,80,25);<BR> exit(0);<BR>}</P>
<P>是tc下实现类tc的西文下拉菜单的实现</P>
页:
[1]
