当前位置: 代码迷 >> C语言 >> c弹出式菜单设计问题,大哥们帮忙啊!!!
  详细解决方案

c弹出式菜单设计问题,大哥们帮忙啊!!!

热度:366   发布时间:2005-09-07 10:50:00.0
c弹出式菜单设计问题,大哥们帮忙啊!!!
   各位大哥,帮帮忙,学校老师要我们搞个"弹出式菜单设计".要求是:设计弹出式菜单,共分为两级,格式是
     第一级菜单是:         文件  画图   文字处理   数值计算   退出
第二级菜单是:文件---->新建文件    画图:无  文字处理--->打开文件               
                     修改文件                        输入记录   
                     保存文件                        打印清单
                       编辑                          文件保存
                      退出                            修改记录
                                                      统计   
数值计算:无         退出:无
  
要求:(1)光标可以在屏幕上自由移动
    (2)在光标所在的位置,通过键盘(如回车)弹出菜单
    (3)可以自由选择所需一级菜单内容,并显示相关二级菜单
老师的提示是:使用相关的图形函数及相应头文件

救救我!!!
搜索更多相关的解决方案: 弹出式  菜单  设计  

----------------解决方案--------------------------------------------------------
没人帮忙吗?
----------------解决方案--------------------------------------------------------
my god
----------------解决方案--------------------------------------------------------
唉,为什么不肯下功夫学习好基础呢
----------------解决方案--------------------------------------------------------
才开学老师就搞了这东东啊,搞的同学们难受死了,大部分人都不会啊,以前学的又不精
----------------解决方案--------------------------------------------------------
没有哪位哥哥可以帮帮忙吗?4个学分啊
----------------解决方案--------------------------------------------------------
我有个搞的差不多的程序,傍晚时发上来,大家到时帮帮忙
----------------解决方案--------------------------------------------------------

#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();}




----------------解决方案--------------------------------------------------------
还是没人帮忙吗?????这么惨啊
----------------解决方案--------------------------------------------------------
作业还是自己做把  最多给你点提示
----------------解决方案--------------------------------------------------------
  相关解决方案