闲来无事,写了个简易计算器
来源:互联网 发布:centos yum 升级gcc 编辑:程序博客网 时间:2024/05/18 02:46
计算器能进行加、减、乘、除运算。要求从键盘输入指令及操作数,如:add 3 26//计算3+26的值,并返回结果
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int add(int x,int y)
{
return x+y;
}
int sub(int x,int y)
{
return x-y;
}
int mux(int x,int y)
{
return x*y;
}
int dive(int x,int y)
{
return x/y;
}
int process(int a,int b,int (*fun)(int a,int b))
{
int result=(*fun)(a,b);
return result;
}
int (*fun[4])(int ,int )={add,sub,mux,dive};//函数指针数组
char *p[4]={"add","sub","mux","dive"};
int main(int argc, char *argv[])
{
char *input[4];
int a=0,b=0,i=0;
int result=0;
char buf[20]="";//存放输入数据
char *cmd;//存放计算方式
while(1)
{
input[0]=NULL;
input[1]=NULL;
input[2]=NULL;
printf("请输入选择方式及数据\n");
i=0;
input[3]=NULL;
gets(buf);
input[i]=strtok(buf," ");
while(input[i]!=NULL)
{
i++;
input[i]=strtok(NULL," ");
}
cmd=input[0];
if(input[1]==NULL||input[2]==NULL)
{
printf("输入参数不够\n");
continue;
}
a=atoi(input[1]);
b=atoi(input[2]);
for(i=0;i<4;i++)
{
if(strcmp(cmd,p[i])==0)
{
result=process(a,b,fun[i]);
printf("result=%d\n",result);
break;
}
}
}
return 0;
}
- 闲来无事,写了个简易计算器
- 闲来无事,写了一个比较完整的计算器
- 闲来无事写了个在线RSS阅读器
- 闲来无事,写了个删除文件夹的java类
- 闲来无事,写了个简单的c#生成静态html文件,封装类
- 闲来无事,写了一个简单的智能指针
- 闲来无事写个PHP5 OOP模型
- 闲来无事,用C写个朴素贝叶斯
- 中秋闲来无事,自己写个2048玩玩
- 闲来无事写个多线程例子总结知识
- 写了一个简易计算器
- 闲来无事,写了个房态图,练练好久没有写代码了的手
- 闲来无事,将自己收集到的工具类封装了下,做了一个lib,写了个简单的mvp,初学者可以看看
- 闲来无事,写篇日志
- 闲来无事,写篇日志
- 闲来无事,写点什么呢?
- 闲来无事封装了dhtmlxgrid_wrapper_for_12306组件
- 闲来无事,用java写了一个魔方小程序。附源码
- 动态规划系列---求数组中两个元素差的最大值
- 异常处理
- Web服务器怎么解析URL
- eclipse设置新建jsp文件默认字符编码为utf-8
- 安装Ubuntu分区方法
- 闲来无事,写了个简易计算器
- JZOJ 4889 最长公共回文子序列(搜索)
- 手把手编写自己的 PHP MVC 框架实例教程
- 测试小故事5:纠结与坦然
- poj2385
- 选择客栈 NOIP2011 提高组 Day1 T2
- 两道递推
- 如何用消息系统避免分布式事务?
- Spring Cloud构建微服务架构(一)服务注册与发现