c++ - 是我用错了 Xcode 还是我写的程序不对?

标签 c++

所以我在做一个关于正弦的 C++ 问题。

它说 sin x 可以通过多项式 x-(x^3/6)+(x^5/120)-(x^7/5040) 来近似,它告诉我输出近似的 sin值和通过cmath计算的sin值。

输入的单位是度,我们必须先将其转换为弧度,然后找出 sin。

样本运行(只有 45 是输入,其他是我们的输出):

角度:45 approxSin = 0.70710647 cmath sin = 0.70710678

我试图为此编写代码。当我按下 command+R 时,尽管程序显示“构建成功”,但什么也没有发生。我是Xcode的新手,所以我不确定是我使用Xcode不正确还是我写的程序不正确。谁能帮忙?

#define _USE_MATH_DEFINES
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double approxSin(double angleDeg) {
    if (-180<angleDeg<180) return approxSin(angleDeg-(angleDeg*angleDeg*angleDeg)/6+(angleDeg*angleDeg*angleDeg*angleDeg*angleDeg)/120-(angleDeg*angleDeg*angleDeg*angleDeg*angleDeg*angleDeg*angleDeg)/5040);
}
int main(){
    float angleDeg;
    cin >> angleDeg;
    if (angleDeg>180) {
        while (angleDeg>180) {
            angleDeg = angleDeg-360;
        }
    } else if (angleDeg<-180) {
        while (angleDeg<-180) {
            angleDeg = angleDeg+360;
        }
    }
    cout << "approxSin = " << &approxSin << endl;
    cout << "cmath sin = " << setprecision(8) << sin(angleDeg);
    return 0;
}

my code

最佳答案

我对您的问题的猜测:您运行该程序,它耐心地等待您的输入。

cin >> angleDeg;

您的程序似乎暂停了,它正在等待您在 IDE 控制台窗口中提供一些输入。由于您没有编写任何提示,因此没有输出告诉您它正在等待输入。

我建议你先添加一些输出来请求输入:

cout << "Please enter angle in degrees: ";
cin >> angleDeg;

关于c++ - 是我用错了 Xcode 还是我写的程序不对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54850158/

相关文章:

c++ - 获取 IIS 7 站点属性

c++ - 在 GCC/G++ 编译器中使用 -pedantic 的目的是什么?

c++ - PostMessage 不适用于 WM_PASTE,mfc

c++ - 使用 gcc 编译基于 DocxFactory 的应用程序

c++ - 如何使用概念来表达 "template T is a..."形式的条件?

c++ - 从我的类(class)转换为 int

c++ - 自包含从 std::enable_shared_from_this 继承的自身的 shared_ptr

c++ - 如何将成员函数传递给需要函数指针的函数?

c++ - .(点)访问静态方法

c++ - 使用标准库类型作为 QHash 或 QSet 中的键