Kapital und Zinsen Help
-
hi!
hab folgendes Aufgabe:
Ein Sparkonto den Kontostand kap.An jedem 1. eines Monats wird ein konstanter Betrag b auf das Konto eingezahlt. Wie hoch ist - unter Berücksichtigung der Zinsen - das Guthaben des Sparkontos jedes der folgenden 10 Jahre. kap, b und der Zinssatz sind einzulesen!
Hinweis: Berechnung für einen Monat: kap := (kap + b)*( 1+ zins/100/12).Hatte bis jetzt folgendes raus:
int main()
{
double kap, b, zins;cout << "Bitte ihren Kontostand eingeben" <<endl;
cin >> kap;cout << "Bitte nun den Zinssatz" <<endl;
cin >> zins;cout << "Bitte nun den monatlichen Betrag" <<endl;
cin >> b;for (int i = 1; i <= 10; i++)
{
for (int i = 1; i <= 12; i++)
{kap = (kap + b)*( 1+ zins/100/12);
}cout << kap << " nach " << i << " Jahr(en)" << endl;
}
system("PAUSE");
return 0;
}So,erstmal läuft das Programm zwar, nur irgendwie weiß ich nicht ob das so richtig ist.Vielleicht kann mal einer es durchgucken,oder mir Alternativen aufzeigen?Vorallem warum kann ich die Klammer vor system nicht entfernen?
-
Hallo
Dein Programm ist soweit in Ordnung, bis auf das system. Das solltest du durch ein reines C++ Konstrukt ersetzen, siehe FAQ im Konsolen-Forum, den Artikel "Automatisches Schließen verhindern".
Die Klammern vor dem system brauchst du weil du weil du zwei ineinander verschachtelte for-Schleifen hast, die abgeschlossen werden müßen.bis bald
akari
-
Zudem wären C/C++ Tags noch sinnvoll im Forum

int main() { // Wenn überhaupt, dann noch eher hier hin: using namespace std; // Den Variablen könntest du noch eindeutigere Namen geben. double kap, b, zins; // Vielleicht solltest du jeweils noch prüfen, // ob die Eingabe auch korrekt war. /* if(!cin) { cin ist nicht mehr gültig, also gab es eine Fehleingabe. cin.clear(); löscht die failbits wieder, damit neue Eingaben möglich sind. cin.ignore(cin.rdbuf()->in_avail()); löscht alle Zeichen, welche noch im Stream sind. Damit ganz neue aktzeptiert werden können. Davon wird auch weiter unten dann gebrauch gemacht. } */ cout << "Bitte ihren Kontostand eingeben" << endl; cin >> kap; cout << "Bitte nun den Zinssatz" <<endl; cin >> zins; cout << "Bitte nun den monatlichen Betrag" <<endl; cin >> b; // Ein bisschen besser formatiert. Damit wird klar, // wieso du die Klammer nicht wegnehmen kannst. for (int i = 1; i <= 10; i++) { for (int i = 1; i <= 12; i++) { kap = (kap + b) * (1 + zins / 100.0 / 12.0); } cout << kap << " nach " << i << " Jahr(en)" << endl; } // Anstatt system("PAUSE"): cout << "Press ENTER to exit..." << endl; cin.ignore(cin.rdbuf()->in_avail()); cin.clear(); cin.get(); // Siehe auch den link, weiter unten. return 0; }Link: http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html
C++ Referenz: http://www.cplusplus.com/reference/Grüssli