2014-09-21 152 views
0

所以我想學習C++的大學課程,我必須寫一個使用這個公式的程序:計算利率

Amount = Principal * (1 + Rate/T)^T 

其中主要是儲蓄的平衡,利率是利率, t是一年內利息的複合次數。根據這本書,如果你輸入4.25作爲利率,12作爲與本金複合的次數1000.00,那麼你應該得到43.34利息,總金額應該是1043.34。我不確定我是否編碼錯了,但我想知道是否有人可以幫我解決我可能犯的錯誤!我試圖自己做一兩天,但我沒有運氣。

#include <iostream> 
#include <iomanip> 
#include <cmath> 

using namespace std; 

int main() 
{ 
    double PRINCIPAL; 
    double INTEREST_RATE; 
    double COMPOUND_AMOUNT; 


    cout << "What is your savings account balance?: " << endl; 
    cin >> PRINCIPAL; 
    cout << "What is your annual interest rate?: " << endl; 
    cin >> INTEREST_RATE; 
    cout << "How many times has your interest been compounded?: " << endl; 
    cin >> COMPOUND_AMOUNT; 

    double amt1 = 1 + (INTEREST_RATE/COMPOUND_AMOUNT); 
    double AMOUNT = PRINCIPAL * pow(amt1, COMPOUND_AMOUNT); 

    cout << "Interest Rate: " << INTEREST_RATE << endl; 
    cout << "Times Compounded: " << COMPOUND_AMOUNT << endl; 
    cout << "Principal: " << PRINCIPAL << endl; 
    cout << "Interest: " << INTEREST_RATE * COMPOUND_AMOUNT << endl; 
    cout << "Amount: " << AMOUNT << endl; 

    system("pause"); 
    return 0; 
} 
+0

你對代碼有什麼問題?對於你在問題中給出的輸入,* actual *輸出是什麼? – 2014-09-21 18:44:53

+0

所以我輸入1000.00作爲本金(賬戶餘額)。 然後我輸入4.25作爲利率。最後,我把12作爲利息被複合的次數。我得到的利息顯示爲51,金額爲38024.7,但在書中它表示它應該顯示爲43.34,因爲利息和金額應該是1043.34。 – 2014-09-21 18:47:07

+0

你確定公式是正確的嗎?首先,因爲有了計算器,我可以得到和你一樣的結果,其次,因爲利率爲4.25%複合了12次,你應該有近65%的複合利息(對'12'的權力'1.0425'乘法因子,減1和乘以100得到百分比('64.783136'))。 – 2014-09-21 19:01:23

回答

1

這是一個數學錯誤。如果您要將利率作爲「4.25%」,則需要將利率除以100.下面的代碼給出的數額爲1043.34,當輸入4.25作爲利率時。

#include <iostream> 
#include <iomanip> 
#include <cmath> 

using namespace std; 

int main() 
{ 
    double PRINCIPAL; 
    double INTEREST_RATE; 
    double COMPOUND_AMOUNT; 


    cout << "What is your savings account balance?: " << endl; 
    cin >> PRINCIPAL; 
    cout << "What is your annual interest rate? (in %): " << endl; 
    cin >> INTEREST_RATE; 
    INTEREST_RATE /= 100; 
    cout << "How many times has your interest been compounded?: " << endl; 
    cin >> COMPOUND_AMOUNT; 

    double amt1 = 1 + (INTEREST_RATE/COMPOUND_AMOUNT); 
    double AMOUNT = PRINCIPAL * pow(amt1, COMPOUND_AMOUNT); 

    cout << "Interest Rate (%): " << INTEREST_RATE * 100 << endl; 
    cout << "Times Compounded: " << COMPOUND_AMOUNT << endl; 
    cout << "Principal ($): " << PRINCIPAL << endl; 
    cout << "Interest ($): " << AMOUNT - PRINCIPAL << endl; 
    cout << "Amount ($): " << AMOUNT << endl; 

    system("pause"); 
    return 0; 
} 

感興趣的是,您的書正在談論美元的利息金額,即AMOUNT - PRINCIPAL。

+0

天啊!非常感謝你,你不知道我坐在這裏坐了多久!最後我可以前進!我非常感謝! :)! – 2014-09-21 19:16:36

+0

Np最簡單的錯誤往往是最難找到的 – 2014-09-21 19:23:31