#include<stdio.h>
#include<string.h>
int Add(int x, int y)
{
return x + y;
}
int Sub(int x, int y)
{
return x - y;
}
int Sul(int x, int y)
{
return x * y;
}
int Del(int x, int y)
{
return x / y;
}
int fun(int(*pf)(int, int),int x,int y) //回调函数
{
int ret=pf(x, y);
return ret;
}
void meau()
{
printf("********1.add ******* 2.sub ********\n");
printf("********3.sul ******* 4.del ********\n");
printf("*****************0. exit **********\n");
}
int main()
{
int a = 0;
int m = 0;
int n = 0;
int ret = 0;
do
{
meau();
printf("请输入要进行的操作\n");
scanf("%d", &a);
printf("请输入两个操作数\n");
scanf("%d%d", &m, &n);
switch (a)
{
case 1: ret = fun(Add, m, n), printf("%d\n", ret); break;
case 2:ret = fun(Sub, m, n), printf("%d\n", ret); break;
case 3:ret=fun(Sul, m, n), printf("%d\n", ret); break;
case 4:ret=fun(Del, m, n), printf("%d\n", ret); break;
default:break;
}
} while (a);
return 0;
}