2013-03-05 37 views
0
#include <iostream> 
#include <string> 
#include <iomanip> 
#include <cmath> 

// Defining Variable 

using namespace std; 

const int MONTHS_IN_YEAR = 12; 
const int PURCHASE_PRICE= 123500; 
const int AMOUNT_MORG= 111150; 
const int DOWN_PAYMENT = 12350; 
const float MONTHLY_RATE= 0.542f; 
const float FORMULA_RATE=1.542f; 
float PAYMENT; 
int main() 




{ 

PAYMENT= (float)(MONTHLY_RATE*AMOUNT_MORG)*(pow(1.542,180)); 
cout << PAYMENT; 

cout << fixed << showpoint << setprecision(2); 


system ("cls"); 
cout <<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"; 
cout <<'$'; 
cout << setw(79)<<'$'; 
cout<<'$'; 
cout << setw(79)<<'$'; 
cout << '$'; 
cout << setw(79)<<'$'; 
cout << '$'<<"  " <<"Welcome to the mortgage information calculator 2013" 
<<"      " << '$'; 
cout <<'$'; 
cout << setw(79)<<'$'; 
cout<<'$'; 
cout << setw(79)<<'$'; 
cout <<'$'<< "  "<< " Made exclusively for Dewey,Cheatum and Howe bankers" 
<<"      "<<'$'; 
cout <<'$'; 
cout << setw(79)<<'$'; 
cout<<'$'<<"  "<< "by: Steven Fisher" 
<<"              "<<'$'; 
cout <<'$'; 
cout << setw(79)<<'$'; 
cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"<<endl; 

system ("pause"); 




return 0; 

} 

所以这里是我的代码。我是新来的C++语言,我在课堂上被分配了一个项目,我必须计算抵押贷款的每月支付。在表达式中使用pow函数

我需要使用pow函数并将乘方乘以表达式。下面是我的尝试:

(float)(MONTHLY_RATE*AMOUNT_MORG)*(pow(1.542,180)) 

,当我运行该程序,我得到的1.#inf答案。

任何帮助,将不胜感激。

+0

你的号码非常大。如果你使用'double'而不是'float',你仍然可以在这个特殊情况下计算它(我试过)。但很明显,数字和公式有什么问题,或者你如何使用它们。不是真正的C++问题。 – jogojapan 2013-03-05 01:59:57

回答

5

1.542 大于7,164,522,793,368,325,816,802,274,738,448,555。这是一个非常大的数字,你确定它适合你的浮点类型吗?

根据您的意见如下,它看起来像你想使用1.00542。您还有其他几个信息也是错误的(MONTHLY_RATE,FORMULA_RATE)。

+2

即使它合适,它绝对会击败即使是在电视上以“2570%APR”做广告的短期高利贷者。 – 2013-03-05 01:58:01

+1

其实你想用'1.0542'作为5.42%的速度;例如,'pow(1.0542,10)'将对应于该速率的10年。但5.42%对于*每月*率来说太高。要么是5.42%/年,你需要用12分来得到每月的费率,或者是0.542%/月。 – 2013-03-05 02:12:24

+0

我的年利率为6.5除以12,得到的月利率为0.54166666666666666666666666666667,我的结果是0.542。这是我假设使用每月支付= =每月利息(购买 - 首期支付)*(1 +每月利息)^ 180这是我使用15年/月(1 +每月利息)在几个月中的^年 - 1.或P = 1(TD)*(1 + I)^ M /(1 + I)^ m -1。 – user2133959 2013-03-05 02:18:44

相关问题