普通代码实现计算器功能:
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//定义加减乘除方法int add(int a, int b) {return a + b;}int sub(int a, int b) {return a - b;}int mul(int a, int b) {return a * b;}int div(int a, int b) {return a / b;}int main() {int input = 0;int ret = 0;int a = 0;int b = 0;do {printf("********************\n");printf(" 1.add 2.sub\n");printf(" 3.mul 4.div\n");printf(" 0.exit\n");printf("********************\n");printf("请选择:>");scanf("%d", &input);switch (input) {case 1:printf("请输入操作数:");scanf("%d %d", &a, &b);ret = add(a, b);printf("%d\n", ret);break;case 2:printf("请输入操作数:");scanf("%d %d", &a, &b);ret = sub(a, b);printf("%d\n", ret);break;case 3:printf("请输入操作数:");scanf("%d %d", &a, &b);ret = mul(a, b);printf("%d\n", ret);break;case 4:printf("请输入操作数:");scanf("%d %d", &a, &b);ret = div(a, b);printf("%d\n", ret);break;case 0:printf("退出程序~\n");break;default:printf("选择错误\n");break;}} while (input);return 0;}
函数指针数组实现计算器功能:
利用函数指针数组把计算器方法(封装?)在一个数组中
调用更加简单,代码更加简洁~
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int Add(int a, int b) {return a + b;}int Sub(int a, int b) {return a - b;}int Mul(int a, int b) {return a * b;}int Div(int a, int b) {return a / b;}int main() {int input = 0;int ret = 0;int a = 0;int b = 0;声明定义函数指针数组让NULL在0是让用户选择函数方法时操作方便int(*pfArr[5])(int, int) = {NULL,Add,Sub,Mul,Div };do {printf("********************\n");printf(" 1.add 2.sub\n");printf(" 3.mul 4.div\n");printf(" 0.exit\n");printf("********************\n");printf("请选择:>");scanf("%d", &input);//细心判断用户选择if (input >= 1 && input <= 4) {printf("请输入两个操作数:>");scanf("%d %d", &a, &b);通过用户input选择哪个函数,就去函数指针数组中找该函数并且把a,b的数据传递过去。ret = (pfArr[input])(a, b);printf("ret = %d\n", ret);}else if (input == 0) {printf("退出程序~");break;}else {printf("选择错误\n");}} while (input);return 0;}
如果觉得《C语言 简单实现计算器功能 ·函数指针数组实现计算器》对你有帮助,请点赞、收藏,并留下你的观点哦!