第一级菜单是: 文件 画图 文字处理 数值计算 退出
第二级菜单是:文件---->新建文件 画图:无 文字处理--->打开文件
修改文件 输入记录
保存文件 打印清单
编辑 文件保存
退出 修改记录
统计
数值计算:无 退出:无
要求:(1)光标可以在屏幕上自由移动
(2)在光标所在的位置,通过键盘(如回车)弹出菜单
(3)可以自由选择所需一级菜单内容,并显示相关二级菜单
老师的提示是:使用相关的图形函数及相应头文件
救救我!!!
#include<stdio.h> #include<conio.h> #include<bios.h>
int key,fx,fy; char * zixiang[]={"文件>>...","画图","文字处理>>", "数值计算","退出"}; void huanjing(void); void zikuang(); void kongjian(void); void where(void);
main() {do {huanjing(); where(); zikuang(fx,fy); kongjian(); }while(1); }
void huanjing(void) { window(1,1,80,25); textbackground(YELLOW); clrscr(); window(2,2,79,24); textbackground(WHITE); clrscr(); }
void where(void) {do {while(bioskey(1)==0); key=bioskey(0); switch(key) {case 19200:fx--;break; case 18432:fy--;break; case 19712:fx++;break; case 20480:fy++;break; } if(fx>74) fx=3; if(fx<3) fx++; if(fy>19) fy=0; if(fy<3) fy++; gotoxy(fx,fy); }while(key!=7181);
}
void zikuang() {int i; fx=fx+2; fy=fy+2; window(fx,fy,fx+10,fy+5); textbackground(GREEN); textcolor(YELLOW); clrscr(); for(i=0;i<5;i++) cprintf("%-8s\r\n", zixiang[i]);
} void kongjian(void) {int ky,old; ky=old=1; do {window(fx,fy+old,fx+10,fy+old); textbackground(GREEN); textcolor(YELLOW); clrscr(); cprintf("%-8s",zixiang[old]); window(fx,fy+ky,fx+10,fy+ky); textbackground(BLACK); textcolor(WHITE); clrscr(); cprintf("%-8s",zixiang[ky]); old=ky; while(bioskey(1)==0); key=bioskey(0); switch(key) {case 20480: ky=ky+1;break; case 18432: ky=ky-1;break; } if(ky>5) ky=ky-5; if(ky<1) ky=ky+5;
}while((1<ky<6)&&(key!=7181)); if(key==7181) exit();}