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

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

热度:343   发布时间:2005-09-08 12:44:00.0
你的这个程序,顶!俺喜欢!俺也正在搞这个呀,你给了俺源代码耶,thank you
----------------解决方案--------------------------------------------------------
楼上的是理工大学的吗?
----------------解决方案--------------------------------------------------------
武汉理工大学的
----------------解决方案--------------------------------------------------------
不是说你啊,我说11楼的,很可能是同一所大学啊,同学都在忙这个项目,就这个项目难搞定
----------------解决方案--------------------------------------------------------
4个学分啊
----------------解决方案--------------------------------------------------------
wenyong哥,你的提示在哪  啊?
----------------解决方案--------------------------------------------------------
你都叫哥了  不能不给点提示啊 呵呵
在写两个函数
void zikuang()
在用void kongjian(void)
函数调用两次上面的函数
应该就差不多了。

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

#include<stdio.h> #include<conio.h> #include<bios.h>

int key,fx,fy; char * zixiang[]={"files>>...","picture","do data>>", "cpunt","exit"}; void huanjing(void); void zikuang(); void kongjian(void); void where(void);

main() {do {huanjing(); where(); zikuang(fx,fy); kongjian(); where(); zikuang(fx,fy); }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; /*left */ case 18432:fy--;break; /*up */ case 19712:fx++;break; /*right */ case 20480:fy++;break; /*down */ } 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=0; 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<0) ky=ky+5;

}while((0<=ky<5)&&(key!=7181)); if(key==7181&&ky==0) {clrscr(); zikuang(fx,fy); } else if(key==7181&&ky==3) {clrscr(); zikuang(fx,fy); } } 没帮 你仔细做,自己修改下估计没问题吧


----------------解决方案--------------------------------------------------------
[attach]3063[/attach]
很久以前编的
----------------解决方案--------------------------------------------------------
wenyong哥,谢谢你拉,基本上能搞定拉,当然你有时间的话再帮我改进改进下
----------------解决方案--------------------------------------------------------
  相关解决方案