ios开发之-计算器的改进
2024-09-03 13:37:29
#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;
}
最新文章
- c# GridView有关RowClick事件,可单击显示选中的row
- ch2 MySQL 架构组成
- leetcode_401_Binary Watch_回溯法_java实现
- Andoid java文件中的Log检查工具
- python实现简单随机模拟——抛呀抛硬币
- C++进制转换(十进制转二进制、八进制、随意进制)
- homework-附加题:第12章基本数据类型阅读总结
- Layout.xml中控件的ID命名方式
- 如何在C++中获得完整的类型名称(RTTI的typeid在不同平台下有不同的输出值表达,自建类改进了RTTI丢失的信息)
- 电商的噩梦?实体商家的福音——VR全景智慧城市
- linux使用mysql给一个用户赋予一个权限
- 如何让Mac、Windows可以互相远程
- Oracle12c中PL/SQL(DBMS_SQL)新特性之隐式语句结果(DBMS_SQL.RETURN_RESULT and DBMS_SQL.GET_NEXT_RESULT)
- java游戏开发杂谈 - java是什么
- MySQL高可用复制管理工具 —— Orchestrator使用
- 简单数论之整除&;质因数分解&;唯一分解定理
- python模块导入细节
- loadrunner中web_reg_save_param和web_reg_save_param_ex的区别
- threading.local()源码分析
- 【SQL】如何使用SQL like 方法和SQL [charlist] 通配符(SQL like的拓展)
热门文章
- angularjs 工具方法
- Sqlite3的安装Windows
- hpuoj--校赛--爬楼梯(模拟)
- django admin显示多对多字段
- java9新特性-20-Javascript引擎升级:Nashorn
- h5调用手机前后摄像头,拍照
- E. Reachability from the Capital(tarjan+dfs)
- [POI2002][HAOI2007]反素数 数论 搜索 好题
- centOS7下 安装nodejs+nginx+mongodb+pm2部署vue项目
- Could not create connection to database server. Attempted reconnect 3 times. Giving up.错误