我無法理解爲什麼我的函數不起作用。我已經看了幾次while循環,但我不明白爲什麼程序沒有正確執行。我如何阻止while循環無限地發生?C++:構建函數
我想創建一個程序,它告訴用戶它會需要多長時間還清貸款,哪些需要償還的最後一個月。用戶輸入借入的貸款,他/她每月想要支付的利息和錢。
例如,我以12%的年利率借了100美元。第一個月我必須支付100美元* 0.01 = 1美元。假設我每月支付50美元,那麼我的新餘額是100 + 1-50 = 51美元。現在我必須支付這個0.51美元的1%。我的新餘額是51 + 0.51 - 50 = 1.51美元,我一直持續下去,直到全部付清。
這是我的代碼如下所示:
#include <iostream>
using namespace std;
void get_input(double &principal, double &interest, double &payment);
int main()
{
double money, i, pay;
cout << "How much do you want to borrow ?";
cin >> money;
cout << "What is the annual interest rate expressed as a percent?";
cin >> i;
cout << "What is the monthly payment amount?";
cin >> pay;
i = i/100;
get_input(money, i, pay);
}
void get_input(double &principal, double &interest, double &payment)
{
double totalpayment, add = 0;
int months = 1;
while(principal>0)
{
add = principal*interest;
principal = principal + add - payment;
months++;
}
totalpayment = payment+principal;
cout << "The last month for your debt to be paid off is: " << months << endl;
cout << "Your final payment is: " << totalpayment << endl;
}
你輸入到這個程序中的確切輸入是什麼? – user2357112
我爲貸款輸入了1000,利息爲18,每月支付50付 – LorrJ
正如您在字面上輸入的內容一樣。我懷疑你投入美元或百分號。 – user2357112