年金计划的问题:争论太少

时间:2011-06-25 11:53:03

标签: c++

我正在编写一个程序来计算数学方程式以找到年金。公式如图所示 A = M=[(1+r)^n-1/r(1+r)^n]。  我正在使用的程序编译器是Devcpp它与我的其他程序一起工作,我找不到这个错误。它告诉我,公式中的参数太少了。

非常感谢任何帮助:)

代码是:

double M, r, n;

cout<<"M = ";
cin>>M;

cout<<"r = ";
cin>>r;

cout<<"n = ";
cin>>n;

cout<<endl;

cout<<"A = M=[(1+r)^n-1/r(1+r)^n]";
cout<<endl<<endl;

cout<<"A = ";
cout<<(M * ( pow ((( 1 + r ), n ) - 1 )/(r * ((pow(1 + r), n)))));

1 个答案:

答案 0 :(得分:6)

cout<<(M * ( pow ((( 1 + r ), n ) - 1 )/(r * ((pow(1 + r), n)))));

您只向外部pow调用传递了一个参数。第二个论点在哪里?

你为什么不干脆呢?为什么你让它变得如此难以理解,即使你无法正确阅读和理解它?如果你自己无法理解,别人怎么理解呢?

可能你想这样做:

double r1 = pow (1 + r,n-1 );
double r2 = pow (1 + r,n)
double A =  M * r1/ (r * r2);
cout<< A;

基于我能理解的内容,我写了这篇文章。这是对的吗?如果您想要稍微不同的计算,请同样这样做。 但必须在简单步骤中执行此操作。这对你和那些阅读你代码的人都有好处。