C语言 计算器实现
实现可以快速增加算法的计算器,便捷更改/增加计算方法。
#include<stdio.h>
void menu()
{
printf("**********************************\n");
printf("****** 1.add 2.sub ******\n");
printf("****** 3.mul 4.div ******\n");
printf("****** 0.exit ******\n");
printf("**********************************\n");
}
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int mul(int x, int y)
{
return x * y;
}
int div(int x, int y)
{
return x / y;
}
int main()
{
int a,x,y;
int(*pi[])(int, int) = { 0, add, sub, mul, div }; //可以在这里增加新的计算方法。
do
{
menu();
printf("请选择一个计算方式:");
scanf("%d", &a);
if (a >= 1 && a <= 4)
{
printf("请输入两个要计算的数值:");
scanf("%d%d", &x,&y);
printf("%d\n", pi[a](x,y));
}
else if (a == 0)
{
printf("程序退出\n");
break;
}
else
{
printf("输入错误,请重新输入!\n");
}
} while (a);
return 0;
}
#include<stdio.h>
void menu()
{
printf("**********************************\n");
printf("****** 1.add 2.sub ******\n");
printf("****** 3.mul 4.div ******\n");
printf("****** 0.exit ******\n");
printf("**********************************\n");
}
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int mul(int x, int y)
{
return x * y;
}
int div(int x, int y)
{
return x / y;
}
int main()
{
int a,x,y;
int(*pi[])(int, int) = { 0, add, sub, mul, div };
do
{
menu();
printf("请选择一个计算方式:");
scanf("%d", &a);
if (a >= 1 && a <= 4)
{
printf("请输入两个要计算的数值:");
scanf("%d%d", &x,&y);
printf("%d\n", pi[a](x,y));
}
else if (a == 0)
{
printf("程序退出\n");
break;
}
else
{
printf("输入错误,请重新输入!\n");
}
} while (a);
return 0;
}