在表达式中使用pow函数

时间:2013-03-05 01:54:37

标签: c++ function pow

#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函数并将幂乘以表达式。这是我试过的:

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

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:5)

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

根据您的评论,您似乎想要使用1.00542。您还有其他几个错误的副本(MONTHLY_RATEFORMULA_RATE)。