Zinseszinsen-Programm bei C++...PROBLEM!!
-
ja und das ist C also in die passende area, und bitte die
marken vor und nach dem quellcode verwenden
-
und nochetwas:
nimm doch statt
system("pause");einfach
cin.get(); cin.get();
-
Hmm, wenns so is, kann das mal jemand umverschieben?
Leider haben eure Tips noch nicht zur Lösung beigetragen....ich dreh hier bald noch durch

Und wo besteht der Unterschied wenn ich cin.get(); cin.get(); eingebe anstatt das system("pause");???
-
Zinsen=Betrag/100*Zinssatz; // operandenordnung undefiniert Zinsen=Betrag / (100*Zinssatz); // mögliche auslegung Zinsen=(Betrag / 100) *Zinssatz; // noch ne mögliche auslegungklammer unbedingt solche ausdrücke. der compiler legt es im schlimmsten fall genau so aus, wie du es nicht haben willst ^^
außerdem kann man den zinseszins auch direkt berechnen: http://de.wikipedia.org/wiki/Zinseszins
-
das
system("pause");wird von der cmd.exe aus ausgeführt oderso, ist auf jeden fall langsamer. und es ist kein c/c++.
cin.get();dagegen ist von c/c++ -> schneller ausgeführt.
doppelt musst dus nur machen, weil des programm bei einem mal trotzdem gleich ausgeht.
noch ein vorteil: du kannst den text selbst bestimmen und musst nich eine windoof standardmeldung ala "Beliebige Taste drücken..." ertragen.
nachteil: es muss enter gedrückt werden ( glaub ich )
-
klar ist system("pause") c++. naja, eigentlich c. das problem ist allerdings, dass der ausgeführte befehl nicht plattformunabhängig ist.
-
Also, dank dem Beitrag von Thordk bekomm ich nun zwar ein anderes Ergebnis...aber wenn das realistisch sein soll das ich nach 10 Jahren bei monatlicher Einzahlung von 10 Euro und 10 Prozent Zinsen dann nur 0,01 € Zinsen rausbekomm....Nunja
ICH DREH DURCH -.-
-
Mach mal die Semikolons hinter deinen for-schleifen weg. Sonst wird ja der Code darunter gar nicht in der Schleife ausgeführt.
-
Schonmal vielen Dank für die super Hilfe!!!
Die Einzahlungen berechnet er nun richtig, nur die Zinsen rechnet er leider irgendwie immer noch nicht korrekt aus
-
du rechnest die ganze zeit mit dem ursprungsbetrag. du musst die zinsen, als das vermehrte kapital, in der rechnung verwenden.
-
Öhm machen wir erstmal C++ daraus:
#include <iostream> template<typename t> t read_type(std::string const& prompt) { t result; std::istringstream isstr; std::string line; do { std::cout << prompt << std::flush; std::getline(std::cin, line); isstr.clear(); isstr.str(line); isstr >> result; } while(!isstr); return result; } int main() { std::cout << "Zinseszinsen V0.1 BETA" << std::endl; double month_deposit = read_type<double>("montl. Einzahlung: "); double interest_rate = read_type<double>("Zinssatz: "); unsigned short duration = read_type<unsigned short>("Laufzeit (in Jahren): "); std::cout << "Gesammteinzahlung pro Jahr: " << 12 * month_deposit << std::endl; std::cout << "Guthaben nach " << duration << " Jahren (excl. Zinsen): " << (12 * month_deposit) * duration << std::endl; }
soo ... dann mal zu deinem Problem ... was soll diese monatliche Einzahlung sein? Normal berechnet man eine Zinseszins einfach aus, in dem man hingeht und nur nach den Anzahl der Jahren und Zinshöhe sowie Ausgangskapital guckt.