iphone - 斯坦福iphone开发-CS193P Assignment 1 - "sin"操作

标签 iphone objective-c ios cs193p

<分区>

所需的工作之一是在计算器上实现“sin”按钮 添加以下4个操作按钮: • sin:计算栈顶操作数的正弦值。

这是我的代码

- (double)performOperation:(NSString *)operation
{
  double result = 0;

   if ([operation isEqualToString:@"+"]) {

    result = [self popOperand] + [self popOperand];

   }else if ([@"*" isEqualToString:operation]) {

    result = [self popOperand] * [self popOperand];

   }else if ([operation isEqualToString:@"-"]) {

    double subtrahend = [self popOperand];
    result = [self popOperand] - subtrahend;

   }else if ([operation isEqualToString:@"/"]) {

    double divisor = [self popOperand];
    if(divisor) result = [self popOperand] / divisor;

    }else if([operation isEqualToString:@"sin"]){

    double operd = [self popOperand];
    NSLog(@"operd=%g",operd);
    if(operd) result = sin(operd);

   }

[self pushOperand:result];

     return result;
}

我尝试输入 sin(60) 结果=-0.304811

但实际上我在 windows 中使用计算器,结果是 0.8860254

我不知道我的代码有什么问题

最佳答案

Windows 计算器将 60 解释为度;您的计算器将 60 解释为弧度。两个答案都是正确的。如果您希望将数字解释为度数,请乘以 M_PI 然后除以 180。

result = sin(M_PI*operd/180)

关于iphone - 斯坦福iphone开发-CS193P Assignment 1 - "sin"操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735495/

相关文章:

iphone - 删除 UIView

iphone - 检查核心数据中的一对多关系引用了多少对象的最有效方法?

objective-c - 防止子类方法被触发?

ios - Xcode 6 Beta 6 上的 iPhone 5c 配置

ios - UITextView - 奇怪的文本剪辑

ios - 我可以随时按主页按钮启动 iOS 应用吗&

objective-c - 如何在 obj-C 的 C 函数中向自己发送消息?

ios - 弹出时导航栏变黑

ios - 小数点前或小数点后无零

ios - 在 Swift 3 中使用 AVFoundation 设置图片方向