半天的测试,终于找到一种写菜单的简单方法(不用表链库)

2020-02-01 16:31发布

在vc6.0中测试


#include <stdio.h>
struct tst{         //定义菜单结构体

        void (*p)();
        struct tst *next;
};

void function1()    //菜单动作
{

        printf("this is function1 ");
}
void function2()
{

        printf("this is function2 ");
}

struct tst trs(void (*function)(void),struct tst *hh)  //菜单内容传递函数
{struct tst gg;
gg.next=hh;
gg.p=function;
return (gg);

}
void main()
{struct tst aa;
struct tst *s;
struct tst bb;

aa=trs(&function1,&bb);
bb=trs(&function2,&aa);

s=&aa;
(*s).p();
s=(*s).next;
(*s).p();
s=(*s).next;
(*s).p();
s=(*s).next;
(*s).p();
s=(*s).next;
(*s).p();
}


这是运行结果

(原文件名:菜单测试.png)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
yklstudent
1楼-- · 2020-02-03 12:52
 精彩回答 2  元偷偷看……
aahui
2楼-- · 2020-02-03 17:40
不错
guiqiudage
3楼-- · 2020-02-03 18:07
mark下
Gorgon_Meducer
4楼-- · 2020-02-03 21:28
兄弟,你这不仅仅是一个菜单……是一个状态机链……可以做的事情很多的。
建议仔细挖掘~
一不小心小的状态机调度器/原则就诞生了~
鼓掌~
downtoearth
5楼-- · 2020-02-03 22:09
mark
smartzou
6楼-- · 2020-02-04 01:46
 精彩回答 2  元偷偷看……

一周热门 更多>