VS下实现“计算器”的代码编写(使用函数指针数组的实现)

这里的“计算器”仅可以进行加减乘除基本运算。

代码如下:

#include <stdio.h>
#include <Windows.h>
#pragma warning(disable:4996)

//函数指针数组实现 计算器
int my_add(int x, int y)//加法运算
{
	return x + y;
}
int my_sub(int x, int y)//减法运算
{
	return x - y;
}
int my_mul(int x, int y)//乘法运算
{
	return x*y;
}
int my_div(int x, int y)//除法运算
{
	if (y == 0){     //分母为零
		printf("div zero!error!");
		return 0;
	}
	return x / y;
}
void menu()   //主页面
{
	printf("#############################\n");
	printf("### 1.add           2.sub ###\n");
	printf("### 3.mul           4.div ###\n");
	printf("###      0.quit   ###\n");
	printf("Please select!\n");
}
int main()
{
	int select = 0;
	int x, y;
	int ret = 0;
	int(*p[5])(int x, int y) = { 0,my_add, my_sub, my_mul, my_div };//函数指针数组
	do{
		menu();
		scanf("%d", &select);
		if (select >= 1 && select <= 4){    //合法选项
			printf("请输入操作数:\n");
			scanf("%d%d", &x, &y);
			ret = (*p[select])(x, y);//函数调用
			printf("%d\n", ret);
		}
		else if (select == 0){//退出计算器
			printf("goodbye!\n");
			break;
		}
		else{
			printf("you enter select error![1,4]\n");//输入错误并提示
		}
	} while (1);

	system("pause");
	return 0;
}

运行;

进行+  -  *  /运算;

按0退出:


猜你喜欢

转载自blog.csdn.net/ChenGX1996/article/details/80389352