#import <Foundation/Foundation.h>

extern double add(double x,double y);

extern double subtract(double x,double y);

extern double multiply(double x,double y);

extern double divide(double x,double y);
#import <Foundation/Foundation.h>
#import "MathOperation.h" BOOL isAnOperator(const char value)
{
return ((value == '+')||(value == '-')||(value =='*')||(value == '/'));
} int main(int argc,const char * argv[])
{
double result = 0;
char operator = '\0'; NSString * equation = [NSString stringWithUTF8String:argv[0]]; NSArray *eqParts = [equation componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; for (int n = 0; n < [eqParts count]; n++) { NSString * argString = [eqParts objectAtIndex:n];
char firstChar = [argString characterAtIndex:0]; if(isAnOperator(firstChar))
{
operator = firstChar;
continue;
} double newValue = [argString doubleValue]; switch (operator) {
case '+':
result = add(result, newValue);
break;
case '-':
result = subtract(result,newValue);
break;
case '*':
result = multiply(result,newValue);
break;
case '/':
result = divide(result,newValue);
default:
break;
}
} NSLog(@"%.3f",result); }
//@implementation Calculator
//
//@end
#include "MathOperation.h"

double add(double x,double y)
{
return x + y;
} double subtract(double x,double y)
{
return x - y;
} double multiply(double x,double y)
{
return x * y;
} double divide(double x,double y)
{
return x / y;
}

最新文章

  1. c# GridView有关RowClick事件,可单击显示选中的row
  2. ch2 MySQL 架构组成
  3. leetcode_401_Binary Watch_回溯法_java实现
  4. Andoid java文件中的Log检查工具
  5. python实现简单随机模拟——抛呀抛硬币
  6. C++进制转换(十进制转二进制、八进制、随意进制)
  7. homework-附加题:第12章基本数据类型阅读总结
  8. Layout.xml中控件的ID命名方式
  9. 如何在C++中获得完整的类型名称(RTTI的typeid在不同平台下有不同的输出值表达,自建类改进了RTTI丢失的信息)
  10. 电商的噩梦?实体商家的福音——VR全景智慧城市
  11. linux使用mysql给一个用户赋予一个权限
  12. 如何让Mac、Windows可以互相远程
  13. Oracle12c中PL/SQL(DBMS_SQL)新特性之隐式语句结果(DBMS_SQL.RETURN_RESULT and DBMS_SQL.GET_NEXT_RESULT)
  14. java游戏开发杂谈 - java是什么
  15. MySQL高可用复制管理工具 —— Orchestrator使用
  16. 简单数论之整除&amp;质因数分解&amp;唯一分解定理
  17. python模块导入细节
  18. loadrunner中web_reg_save_param和web_reg_save_param_ex的区别
  19. threading.local()源码分析
  20. 【SQL】如何使用SQL like 方法和SQL [charlist] 通配符(SQL like的拓展)

热门文章

  1. angularjs 工具方法
  2. Sqlite3的安装Windows
  3. hpuoj--校赛--爬楼梯(模拟)
  4. django admin显示多对多字段
  5. java9新特性-20-Javascript引擎升级:Nashorn
  6. h5调用手机前后摄像头,拍照
  7. E. Reachability from the Capital(tarjan+dfs)
  8. [POI2002][HAOI2007]反素数 数论 搜索 好题
  9. centOS7下 安装nodejs+nginx+mongodb+pm2部署vue项目
  10. Could not create connection to database server. Attempted reconnect 3 times. Giving up.错误