(win32)简单计算器实现
编译环境vs17,实现功能(+ - * /)
int Myadd(int x, int y)
{
return x + y;
}
int Mysub(int x, int y)
{
return x - y;
}
int Mymul(int x, int y)
{
return x * y;
}
int Mydiv(int x, int y)
{
if (y == 0)
{
printf("div zero\n");
return -1;
}
return x / y;
}
Menu()
{
printf("#############################\n");
printf("###1. Add 2.Sub###\n");
printf("###3. Mul 4.Div###\n");
printf("### 0.Exit##\n");
printf("#############################\n");
printf("###Please Select: ###");
}
int main()
{
int select = -1;
int(*p[5])(int, int) = { NULL, Myadd, Mysub, Mymul, Mydiv };//函数指针数组
const char *op = " +-*/";
Menu();
scanf("%d", &select);
while (1)
{
if (select == 0)
{
printf("bye bye\n");
break;
}
else if (select > 0 && select < 5)
{
int x, y;
printf("Please enter your data<x,y>: ");
scanf("%d %d", &x, &y);
int z = p[select](x, y);
printf("result: %d %c %d=%d\n", x, op[select], y, z);
}
else
{
printf("select error peease try again\n");
}
}
return 0;
}
结果
图1
图2
图3
图4