1

我知道我的工作很草率,这是我在这门课上的第四份作业。任何帮助将不胜感激,谢谢。

double  getPrincipal(0);
double  getRate(0);
double  getYears(0);
double  computeAmount(double getPrincipal, double getRate, double getYears);
double  displayAmount(double principal, double rate, double years, double amount);

cout << "what is the principal ammount?" << endl;
cin >> getPrincipal;

cout << "What is the percentage rate?" << endl;
cin >> getRate;

cout << "Over how many years will the money stay in the bank?" << endl;
cin >> getYears;  

computeAmount = pow((1 + getRate / 100),getYears); // This is where i got the error
4

5 回答 5

3

您试图为函数分配值而搞砸了functionsvariables

double  computeAmount(double getPrincipal, double getRate, double getYears);

通过这一行,您声明computeAmount()了一个以 3double为参数并返回 a的函数double

但是,在这一行中,

computeAmount = pow((1 + getRate / 100),getYears);

您正在尝试将其用作变量。

取决于您的目的是什么,您可能需要更改这两行之一。例如,您可以删除第一行,并将第二行更改为:

double computeAmount = pow((1 + getRate / 100),getYears);
于 2014-02-27T18:38:41.633 回答
1

正如编译器试图告诉您的那样,您不能将变量分配给函数

如果您希望它成为一个函数,请定义它并调用它。

如果您希望它成为变量,请将其声明为变量。

于 2014-02-27T18:38:35.363 回答
1

computeAmount是您定义的函数的名称,它返回 adouble并接受 3 个double参数。 pow返回一个double

将该行更改为

double computedAmount = pow((1 + getRate) / 100, getYears);
       ^^^^^^^^^^^^^^ -- notice this is no longer the function name, but a new variable
于 2014-02-27T18:39:42.513 回答
1

您将 name 声明computeAmount为函数名称

double  computeAmount(double getPrincipal, double getRate, double getYears);

所以这个说法

computeAmount = pow((1 + getRate / 100),getYears);

没有意义。作为computeAmount一个函数名,然后在上面的 espression 中它被转换为指向函数的指针,并且您试图将函数返回的一些双精度值分配pow给这个指针。

于 2014-02-27T18:41:51.867 回答
1

computeAmount 被声明为一个函数,但在“=”运算符的左侧使用。解决方案:将 computeAmount 重新声明为 double:

double computeAmount;
于 2014-02-27T18:43:35.827 回答