この C++ コードは、年が 1 になった後も停止しません。1331 で停止するはずです (最初に保存されたと表示されます)。うまくいけば、再帰を使用するのは初めてです。基本的な何かが欠けているだけではありません。よろしくお願いします。私はうまくいかなかった複数の変更を試みました。
Sample input:
- Enter inital amount to save: 1000
- Enter yearly interest rate (e.g. 0.10 for 10): .1
- Enter number of years of compounded interest: 3
Output:
iAmount: 1100
Years: 3
iAmount: 1210
Years: 2
iAmount: 1331
Years: 1
Saved up: 1331
Saved up: 1210
iAmount: 1210
Years: 1
Saved up: 1210
Saved up: 1100
void interest(int iAmount, double rate, int years, double saved){
saved = iAmount * (1+rate);
iAmount = saved;
cout << "iAmount: " << iAmount << "\n";
cout << "Years: " << years << "\n";
while(years>1){
years = years - 1;
interest(iAmount, rate, years, saved);
}
if(years == 1){
cout << "Saved up: " << iAmount << "\n";
return;
}
}