zoukankan      html  css  js  c++  java
  • ios开发之-计算器的改进

    #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 = '';
        
        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;
    }
    


  • 相关阅读:
    Java compiler level does not match the version of the installed Java project facet错误的解决
    java 面试 心得
    Oracle学习——第一章
    Window_Open详解
    在JSP页面获取集合的长度
    java实现文件上传
    Tcp与Ip协议的客户端和服务器编程
    异步委托
    同步委托最简单的一个列子
    使用多线程制作双色球
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6999227.html
Copyright © 2011-2022 走看看