用转移表来实现一个计算器

来源:互联网 发布:淘宝怎么回收手机 编辑:程序博客网 时间:2024/05/18 04:49

用转移表来实现一个计算器


源代码:

#include <stdio.h>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 x, y;int input = 1;int ret = 0;int (*p[5])(int, int) = {0, add, sub, mul, div};//第一个元素为0只是为了input不用减1while(input){printf("###########################\n");printf("   1.add           2.sub   \n");printf("   3.mul           4.div   \n");printf("###########################\n");printf("Please Select Method:");scanf("%d",&input);if(input>0 && input<5){printf("Method Ok!\n Please Enter Your Data<x,y>: ");scanf("%d,%d",&x,&y);ret = p[input](x,y);printf("%d\n",ret);}else if(input == 0){printf("Bye!\n");}else{printf("Your Enter Error!\n");}}return 0;}

输出结果: