1

在编程方面,我是个大菜鸟,但我一直在 youtube 上观看一些教程,我决定尝试混合不同视频中教授的一些概念。我想要做的是有一个函数,它有 3 个参数来计算股票市场投资的回报。在我的 main 中,我想从用户那里获取函数的 3 个参数,并将每个参数存储在一个变量中,并在调用函数时将这些变量用作参数。我目前遇到了一个错误,但在我输入整个内容之前,我会向你们展示我的代码,也许你们会发现问题所在。

  #include <iostream>
  #include <cmath>

  using namespace std;

float stockMarketCalculator(float p, float r, int t){
float a;

for(int day = 1; day <=t; day++){
    a = p * pow(1+r, day);
        cout << a << endl;
}

}

int main()
{
float p;
float r;
int t;


cout << "Please enter the principle" << endl;
cin >> p >> endl;

cout << "Please enter the rate" << endl;
cin >> r >> endl;

cout << "Please enter the time in days" << endl;
cin >> t >> endl;
cout << stockMarketCalculator(p, r, t);

return 0;
}
4

4 回答 4

1

第一个错误:你的 stockMarketCalculator 函数应该返回值!

return a;

第二个错误(3次):endl中不需要cin。只需将其删除。

享受!

于 2012-11-01T23:32:35.727 回答
1

您的代码已更正

#include <iostream>
#include <cmath>

using namespace std;

void stockMarketCalculator(float p, float r, int t)
{
    float a;

    for(int day = 1; day <= t; day++)
    {
        a = p * pow(1+r, day);
        cout << a << endl;
    }
}

int main()
{
    float p;
    float r;
    int t;

    cout << "Please enter the principle" << endl;
    cin >> p;

    cout << "Please enter the rate" << endl;
    cin >> r;

    cout << "Please enter the time in days" << endl;
    cin >> t;

    stockMarketCalculator(p, r, t);

    return 0;
}

更正

cin流不需要endl

您不需要您stockMarketCalculator返回要打印的值,因为它已经在打印您想要的值,所以我声明了它void并简单地在main函数中调用它。

于 2012-11-01T23:35:27.633 回答
1

我读了你的原型

float stockMarketCalculator(float p, float r, int t)

并假设函数的返回很重要。事实上,从你的 main() 函数,你写:

cout << stockMarketCalculator(p, r, t);

在您的原始代码中,它将尝试编写一些不确定的值。

如果你不关心返回值,你应该使用:

void stockMarketCalculator(float p, float r, int t)

并且不要尝试cout从值main()- 直接调用它(参见 unziberla 的答案)。

另一方面,如果您确实关心返回值,请return在下面添加我原来的答案。如果您只关心最终值,这是一个更简洁的界面。

原答案:(留给后人)

您需要添加

return a;

给你的stockMarketCalculator.

通常,这会被编译器报告为警告,但可能不取决于您的设置。

于 2012-11-01T23:26:37.453 回答
0

同意,您的stockMarketCalculator函数说它将返回一个浮点数,但没有返回语句。

return a;在 for 循环之后,在函数的右花括号之前stockMarketCalculator

于 2012-11-01T23:30:45.793 回答