Programm läuft nicht



  • Hi Leute,
    wer weiß warum das folgende Programm nicht läuft? Steh grad total aufm Schlauch.

    Gruß Eddie

    #include <iostream.h>
    #include <iomanip.h>
    #include <stdio.h>
    #include <math.h>
    #include <conio.h>
    
    int berechnung(float kredit, float zinsen, float monatsrate, bool tabelle);
    
    int main ()
    {
      int zeit;
      float kredit, zinssatz, rate;
      char ausgabe;
      bool janein=false;
    
      cout << "Kredithoehe: ";
      cin >> kredit;
      cout << "Jahreszinssatz: ";
      cin >> zinssatz;
      cout << "monatliche Rueckzahlungsrate: ";
      cin >> rate;
      cout << "Wuenschen Sie eine tabellarische Ausgabe? ";
      cin >> ausgabe;
      ausgabe = toupper(ausgabe);
    
      if (ausgabe =='J')
         janein = true;
    
      zeit = berechnung(kredit,zinssatz/12.0,rate,janein);
    
      if (janein==false)
         cout << "Der Kredit ist nach " << zeit << " Monaten abbezahlt.";
    
      getch ();
      return 0;
    }
    
    int berechnung(float kredit, float zinsen, float monatsrate, bool tabelle)
    {
      int monate=0;
      float zinsanteil, tilgungsanteil;
    
      kredit+= kredit*zinsen/100.0;
    
      if (tabelle)
         cout << endl << endl << endl
              << "----------------------------------------------" << endl
              << "Monate    Zinsanteil   Tilgungsanteil   Kredit" << endl
              << "----------------------------------------------" << endl;
    
      while (kredit>=monatsrate)
      {
         ++monate;
    
         zinsanteil = kredit*zinsen/100.0;
         tilgungsanteil = kredit-monatsrate+zinsanteil;
         kredit -= zinsanteil-monatsrate;
    
         if (tabelle)
             cout << setw(6) << monate << setw(14) << zinsanteil << setw(17)
                  << tilgungsanteil << setw(9) << kredit << endl;
    
      }
    
      if (kredit!=0)
      {
         ++monate;
         if (tabelle)
            cout << setw(6) << monate << "   Restbetrag:  " << kredit;
      }
      return monate;
    }
    

    Edit:
    Bitte die Code-Tags verwenden. Danke!



  • Jepp, ich weiß es.
    Aber was hast Du denn schon versucht um es raus zu finden?



  • Hallo

    - was hat dein Code/dein Problem mit dem Builder zu tun? Du verwendest nichts aus der Builder-spezifischen VCl, sondern reines Standard-C++

    - was genau soll dein Programm machen und was bedeutet warum das folgende Programm nicht läuft?

    bis bald
    akari



  • Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • while (kredit>=monatsrate)
      {
         ++monate;
    
         zinsanteil = kredit*zinsen/100.0;
         tilgungsanteil = kredit-monatsrate+zinsanteil;
         kredit -= zinsanteil-monatsrate;
    
         if (tabelle)
             cout << setw(6) << monate << setw(14) << zinsanteil << setw(17)
                  << tilgungsanteil << setw(9) << kredit << endl;
    
      }
    

    Das gibt eine endlosschleife. Der Debugger hilft manchmal Wunder.



  • raimond schrieb:

    Der Debugger hilft manchmal Wunder.

    Nein, ncoch viel öfter. f'`8k

    Bye, TGGC (\-/ returns)


  • Mod

    dernetteeddie1978 schrieb:

    Hi Leute,
    wer weiß warum das folgende Programm nicht läuft?

    "Das Program läuft nicht" ... ist keine fehlerbeschreibung.



  • @ Phips!:

    Ei dann sags halt:) 🤡 🤡 🤡

    @ camper: ei es macht ne Endlosschleife, in Deinem Compiler bestimmt auch.

    @ raimond: Wie geht denn das mit dem Debugger? Bin noch recht neu in der C++ Programmierung, und vor allem in dem Borland Compiler.

    Gruß Eddie



  • @ raimond:

    ICh dachte mir auch schon das dort der Fehler liegen muß, nur leider steh ich irgendwie völlig aufm Schlauch, da ich einfach nicht finden kann wo die Berechnungen nicht stimmen.

    Gruß Eddie


  • Mod

    dernetteeddie1978 schrieb:

    @ camper: ei es macht ne Endlosschleife, in Deinem Compiler bestimmt auch.

    das ist immer noch sehr unpräzise. und compiliert und getestet habe ich das programm auch nicht.

    kredit -= zinsanteil-monatsrate;
    

    darüber solltest du noch einmal nachdenken.



  • @eddie: du kennst den Unterschied zwischen endlichen Schleifen und
    Endlosschleifen?

    Oder musst du gerade deine Festplatte zumüllen?

    MfG f.-th.





  • Schau dir den Tipp von Camper an. Und wenn Du schon solche Codeabkürzungen benutzt, dann mach dir vorher klar was sie bedeuten!

    Dies

    a-=b-c;
    

    ist nämlich das Gleiche wie

    a = a - (b-c);
    


  • Jepp, das wars. Vielen Dank


Anmelden zum Antworten