该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
照着样子输进去之后自己改了一些,做成课程设计要求的方式,现在就是很多代码都不懂....
另外还存在两个问题
1.怎样把打印出的菜单放到屏幕中间?
2.怎样将菜单弄成竖排的格式?
代码在这里
#include
#include
#include
enum disptype{NORMAL,REVERSED};
enum keys{UP=0x4800,DOWN=0x5000,SPACE=0x3920};
enum booltype{NO,YES};
void disp(char *thismenu[],int num,int disptype)
{
int STARTX=20,GAP=10;
gotoxy(num*GAP+STARTX,1);
if(disptype==NORMAL)
{
textcolor(YELLOW);
textbackground(BLACK);
}
else
{
textcolor(BLACK);
textbackground(YELLOW);
}
cputs(thismenu[num]);
}
main()
#define NFIXEDMENU 5
{
char *fixedmenu[]={"DAYIN","MAOPAO","CHENGJI","DONGHUA","EXIT"};
int quit;
int i,current;
clrscr();
for(i=0;i
disp(fixedmenu,i,NORMAL);
disp(fixedmenu,current=0,REVERSED); quit=NO;
while(quit==NO)
switch(bioskey(0))
{
case UP:disp(fixedmenu,current,NORMAL);
current=(current==0)?NFIXEDMENU-1:current-1;
disp(fixedmenu,current,REVERSED);
break;
case DOWN:disp(fixedmenu,current,NORMAL);
current=(current==NFIXEDMENU-1)?0:current+1;
disp(fixedmenu,current,REVERSED);
break;
case SPACE:if(strcmp(fixedmenu[current],"EXIT")==0)
quit=YES;
break;
default:;
}
textcolor(YELLOW);
textbackground(BLACK);
clrscr();
}