计算器的一种实现方式 转移表
“转移表”
double (*operation_fun[])(double,double)={add,sub,mul,div,......};
和状态有关应用if-else结构或者switch语句进行一些状态的切换,如果遇到比较复杂情况,转移次数达到数百次或者数千次,如果再使用if-else结构或者switch语句,维护起这个软件系统,工作量将会相当大。这个时候可以采用“转移表”来避免这个情况。
以下代码为计算器转移表的实现方式
#include<stdio.h>
#pragma warning (disable:4996)
int add(int a, int b) //求和
{
return a + b;
}
int sub(