C++: Problem mit Programm (Schleife)

  • Ich habe ein Problem bei C++. Und zwar lautet die Aufgabe folgendermaßen:


    Zitat

    Entwickeln Sie ein Programm million.cpp, dass die Anzahl der Jahre errechnet, die man warten muss, bis man aufgrund einer einmaligen Einlage und eines konstanten Zinssatzes Millionär geworden ist.


    Dies alles ist mit einer kopfgesteuerten Schleife zu lösen.


    Soweit, so gut, in der Theorie alles kein Problem, allerdings funktioniert es nicht so wie ich mir das vorstelle. Ich habe schon alles mögliche probiert, finde aber meinen Fehler nicht. Hier mein Programmcode (der Zinssatz ist z.B. 0.04 für 4%):



    Wo liegt der Fehler?

    iPhone 3G S 16GB black ITA


    MacBook Pro 17", mid 2010 - Core i7 2,66GHz, 4GB RAM, 500GB HDD @ 7200 rpm

  • Du pruefst, ob einlage groesser als 1 Mio ist. Wird sie wohl zu Anfang nicht sein ;)


    Also einfach die Bedingung mal umdrehen und dann zukuenftig selbst ueber die Hausaufgaben nachdenken :)

  • "float einlage, jahre = 0, zinssatz;"


    Das ist eine Speicherplatzverschwendung,
    besser wäre Integer für Jahre/Einlage. (Oder Natural, falls C++ sowas kann)
    Integer wäre schon dehalb besser, weil du damit auch ne Summe bis 2^31 -1 benutzen kannst (falls du mal wissen willst, wann du 2^31-1 euro hast *g*) ;-)


    Weiterhin muss es wie harlekyn schon merkte < 1000000 heißen.


    Solange der Betrag < 1000000 ist, <Führe xyz aus>.

    Meilensteine der Handygeschichte: Nokia 3210 - Siemens SL45 - Nokia 3650 - SE K750i - Nokia N95 - Apple iPhone

  • Der Fehler ist, das die Schleife nicht betreten wird. Dies liegt daran das die Bedingung falsch ist. Bleibst du bei der Schleife musst du


    while (einlage >= 1000000) in while (einlage < 1000000) ändern.


    Oder du verwendest eine Fussgesteuerte Schleife, dann kannst du (einlage >= 1000000) stehen lassen, jedoch im Fuss der Schleife


    also


    do
    {


    }until(einlage >= 1000000)


    (Weiß net ob die Syntax in c++ so richtig ist)

    Programming is like sex:
    One mistake and you have to support it for the rest of your life.

  • Vielen Dank euch allen. Ich hab immer in der Rechnung nach dem Fehler gesucht, aber nicht in der Bedingung für die Schleife. :o


    Und für jahre habe ich jetzt auch integer verwendet, für die einlage würde das zwar gehen, aber man soll ja auch Fließkommazahlen eingeben können ;)

    iPhone 3G S 16GB black ITA


    MacBook Pro 17", mid 2010 - Core i7 2,66GHz, 4GB RAM, 500GB HDD @ 7200 rpm

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!