计算器包含加减乘除;
1我们要先分别写加法函数,减法函数,乘法函数,除法函数;
2设计一个方式选择我们的计算函数;这里可以用switch函数,在不同的情况下调用不同的函数进行加减乘除;
3选用do while循环对计算器连续使用和退出操作;
代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void calcu(int(*pa)(int,int), int x, int y)
{
printf("请输入两个操作数:\n");
scanf("%d %d", &x, &y);
int ret = (*pa)(x, y);
printf("%d\n", ret);
}
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int multi(int x, int y)
{
return x * y;
}
int dive(int x, int y)
{
return x / y;
}
void menu()
{
printf("------------calculate-------------\n");
printf("--------1:add-------2:sub---------\n");
printf("--------3:multi-----3:dive--------\n");
printf("---------------0:exit -----------\n");
printf("----------------------------------\n");
printf("----------------------------------\n");
}
int main()
{
int n = 0;
int a = 0, b = 0;
int ret = 0;
do
{
menu();
printf("请选择:");
scanf("%d", &n);
switch (n)
{
case 1:
calcu(add, a, b);
break;
case 2:
calcu(sub, a, b);
break;
case 3:
calcu(multi, a, b);
break;
case 4:
calcu(dive, a, b);
break;
default:
printf("请重新输入:");
}
} while (n);
}
我们使用了回调函数,这样便利了case里的代码,回调函数通过函数指针调用函数;