-2

あなたの 21 歳の誕生日に、祖母があなたのために普通預金口座を開設し、1000 ドルを預金しました。普通預金口座は、口座残高に対して 3% の利息を支払います。口座にそれ以上お金を預けたり、口座からお金を引き出したりしない場合、1 年から 5 年後にあなたの普通預金口座の価値はいくらになりますか?

あなたに答えを与えるプログラムを作成します。次の式を使用して答えを計算できます: b = p * (1 + r)n 。この式で、p は元本 (預金額)、r は年利 (3%)、n は年数 (1 ~ 5)、b は預金口座の残高です。 n年目の終わり。for ループを使用します。

どんな助けでも大歓迎です

これは私がこれまでに持っているものであり、得られるのは無限ループだけです

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

void main()
{
// Inputs //

double princ = 0.0;
double rate = 0.0;
int years = 0;
int year = 1;
double total = 0.0;

// Ask User For INFO //

cout << "What is the principle? ";
cin >> princ;
cout << "What is the rate in decimal? ";
cin >> rate;
cout << "how many years? ";
cin >> years;



for (double total; total = princ*(1+rate)*year;)
{
cout << "The balance after year " << year << " is "<< total << endl << endl;
year += 1;
}

while((years + 1)!= year);

system("pause");
}
4

2 に答える 2

1

for ループの仕組みを誤解しています。特定の回数何かを行うために使用されます。あなたの例では、特定の年数にわたってループすることが適切です。このようなもの:

double interest = 1.0 * rate:
double accumulated = 1.0 * interest;

for (auto i=1; i < years; ++i) {
    accumulated *= interest;
    cout << "The balance after year " << i << " is " << (princ * accumulated) << std::endl;
}
于 2013-10-26T00:29:19.870 に答える