2013-03-05 69 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

相關問題