//运算函数 intAdd(int x, int y) { return x + y; } intSub(int x, int y) { return x - y; } intMul(int x, int y) { return x * y ; } intDiv(int x, int y) { return x / y; }
#include<stdio.h> //运算函数 intAdd(int x, int y) { return x + y; } intSub(int x, int y) { return x - y; }intMul(int x, int y) { return x * y; }intDiv(int x, int y) { return x / y; }
intCalc(int (*pf)(int, int)) { int x = 0; int y = 0; int ret = 0; printf("请输入:"); scanf("%d %d", &x, &y); ret = pf(x, y); printf("%d\n", ret); }
voidmune() { printf("*****1. add 2.sub*****\n"); printf("*****3. mul 4.div*****\n"); printf("******0. exit ***********\n"); printf("***********************\n"); printf("请输入运算符号:>"); } intmain() { int input = 0; int x = 0; int y = 0; int ret = 0; do { mune(); scanf("%d", &input); switch (input) { case1: Calc(Add); break; case2: Calc(Sub); break; case3: Calc(Mul); break; case4: Calc(Div); break; case0: printf("已退出。\n"); break; default: printf("输入错误,请重新输入;\n"); break; } } while (input); return0; }
intAdd(int x, int y) { return x + y; } intSub(int x, int y) { return x - y; }intMul(int x, int y) { return x * y; }intDiv(int x, int y) { return x / y; }
intmain() { int input = 0; int x = 0; int y = 0; int ret = 0; do { mune(); printf("请选择符号:>"); scanf("%d", &input); //指针函数数组 int (*pf[5])(int, int) = { NULL,Add,Sub,Mul,Div }; if (input > 0 && input < 5) { printf("请输入:"); scanf("%d %d", &x, &y); ret = pf[input](x, y); printf("ret=%d\n", ret); } elseif (input == 0) { printf("退出成功!\n"); break; } else { printf("输入错误,请重新输入;\n"); } } while (input != 0); return0; }
至此,3.0版本计算器完成
写在最后
非常感谢你的阅读!创作不易,如果觉得其中一点有帮助,还请关注我,一起进步。 当然来一个点赞也是可以的哦!🚀Live long and Prosper!🖖🏼 爱你呦~~❤️❤️❤️❤️❤️