您的位置:首页 > 其它

实现简易计算器

2015-11-25 20:24 281 查看
该计算器可以用于“加减乘除” 运算:
代码如下:
#include <stdio.h>
#include <stdlib.h>
enum OP       //枚举各个功能
{
EXIT,
ADD,
SUB,
MUL,
DIV
};
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)          //实现除法函数
{
if (b == 0)
{
printf("除数位0\n");
}
return a / b;
}

void menu()              //菜单函数,用于实现菜单栏
{
printf("*************************\n");
printf("**** 1.add   2.sub   ****\n");
printf("**** 3.mul   4.div   ****\n");
printf("******** 0.exit *********\n");
printf("*************************\n");
}

int(*pfun[5])(int, int) = {0, _add, _sub, _mul, _div};  //定义了一个数组指针型函数
int main()
{
int input = 1;
int num1 = 0;
int num2 = 0;
int ret = 0;
while (input)          //选择要执行的操作
{
menu();              //打印菜单
printf("请选择>:");
scanf("%d", &input);
printf("请输入两个整数操作数>:");
scanf("%d%d", &num1, &num2);
if (input >= 1 && input <= 4)
{
ret = pfun[input](num1, num2);     //调用数组指针函数,进行相应的运算操作
}
else if (input == 0)         //退出程序
{
exit(EXIT_FAILURE);
}
else
{
printf("选择错误\n");       //选择是错误的
}
printf("ret = %d\n", ret);      //输出计算的结果
}
return 0;
}
在主函数while循环中也可以用switch语句进行相应的操作
代码如下:
switch (input)
{
case 1:
ret = _add(num1, num2);
break;
case 2:
ret = _sub(num1, num2);
break;
case 3:
ret = _mul(num1, num2);
break;
case 4:
ret = _div(num1, num2);
break;
case 0:
exit(EXIT_FAILURE);
break;
default:
printf("选择错误,请重新选择.\n");
break;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c