gpt4 book ai didi

objective-c - Obj-C 计算器 - 弧度到度数

转载 作者:可可西里 更新时间:2023-11-01 06:19:55 26 4
gpt4 key购买 nike

我一直在观看斯坦福 CS193P 讲座,并且一直在研究作业计算器。我相当轻松地完成了第一个作业,现在我正在尝试为作业做额外的学分。然而,我被困在一个额外的学分问题上:

实现一个用户界面来选择 sin() 或 cos() 的操作数是考虑弧度或度数。当您在 C 库中调用 sin(x) 时,假定 x以弧度为单位(即 0 到 2π 绕圆圈一次),但用户可能希望输入 180 并按下 sin 按钮并得到 0 而不是 -0.8012(这是180 弧度)。您可以为此使用 UIButton 并关闭 titleLabel 的每次按下 UIButton 时都会显示文本,但更好的方法是查看是否可以通过阅读文档了解如何使用 UISwitch(如果你敢的话!)。

我实现了一个 UISwitch 并将其连接为一个 IBOutlet。当我执行“操作”时,我会检查开关是打开还是关闭,并将其与要执行的操作一起传递给我的模型。在我的 sin 和 cos 案例中,我执行以下操作:

else if ([operation isEqual:@"sin"])
{
if (radians) {
operand = sin(operand);
}
else {
operand = sin(operand) * (180 / M_PI);
}

}
// similar for cos

如果 radians(这是一个 BOOL:YES = radians,no = degrees),那么我照常执行操作;如果用户将开关置于“度”,我想返回以度为单位的值,如作业所述:用户可能想输入 180 并按下 sin 按钮并得到 0 而不是 -0.8012(这是180 弧度的正弦)。

但是,这段代码并不完全有效。当我将开关切换到 degrees 位置并执行 sin 180 时,它会返回一个或多或少 -45 的值。那里出了点问题;我不太确定是什么。我查看了如何进行转换,我认为我做对了,但显然不是。

我意识到这可能更适合 math.stackexchange,但由于有一些代码我想发布,所以我把它放在这里。有人可以就实现这个的最佳方法提供一些建议吗?我已经有一段时间没有使用 cos 或 sin、弧度和度数了。

谢谢!

最佳答案

您的意思是 operand = sin(operand * M_PI/180);

关于objective-c - Obj-C 计算器 - 弧度到度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com