Programm beenden bei Eingabe von 0



  • Hallo
    Mein Programm soll nach eingabe von 0 Stk beendet werden hab es momentan mit einer do while schleife versucht, kann mir einer weiterhelfen, wäre sehr nett vielen Dank im Vorraus

    //---------------------------------------------------------------------------
    
    #include <iostream.h>
    #include <stdlib.h>
    #include <vcl.h>
    #include <math.h>
    #include <stdio.h>
    
    //---------------------------------------------------------------------------
    
    // --------- Funktionen -----------
    
    void nettoumsatz(double *m1,double *n1)
    {
    *n1= *m1 * 94.2;
    }
    
    void Fgewicht(double *m1,double *g1)
    {
    *g1= *m1 * 24;
    }
    
    void berechnetes_gewicht(double *g1,double *bg1)
    {
    double berechnung;
    berechnung=*g1/100;
    *bg1=(ceil(berechnung))*100;
    }
    
    void fracht_funktion(double *bg1,double *km1,double *f1)
    {
    *f1=(*bg1/100)* *km1 * 0.06;
    }
    
    void gesamt_umsatz(double *f1,double *n1,double *gu1)
    {
    *gu1=*f1 + *n1;
    }
    
    void rabatt_funktion(double *n1,double *r1)
    {
    if (*n1 < 50000)
      {
      *r1=(*n1*3)/100;
      }
      else
    
      if (*n1 > 50000 && *n1 < 50000)
       {
       *r1=(*n1*5)/100;
       }
      else
       {
       *r1=(*n1*7)/100;
       }
    }
    
    void zielpreis_funktion(double *gu1, double *r1, double *zielpreis1)
    {
      *zielpreis1 =*r1 - *gu1;
    }
    
    //------- Hauptprogramm ----------------------------------------
    int main()
    {
    double menge;
    double km;
    double netto;
    double gewicht;
    double bgewicht;
    double fracht;
    double gesamtumsatz;
    double rabatt;
    double zielpreis;
    
    cout<<"\t ++++++++++++++++++++++++++++++\n";
    cout<<"\t +                            +\n";
    cout<<"\t +      Auftragsberechnung    +\n";
    cout<<"\t +                            +\n";
    cout<<"\t ++++++++++++++++++++++++++++++\n\n\n";
    
    do
    {
    cout<<"Bitte Auftragmenge eingeben:  ";
    cin>>menge; cout<<"\n";
    }
    while(menge==0);
    cout<<"Bitte Distanz (in km) eingeben:  ";
    cin>>km; cout<<"\n";
    
    nettoumsatz(&menge, &netto);
    Fgewicht(&menge, &gewicht);
    berechnetes_gewicht(&gewicht,&bgewicht);
    fracht_funktion(&bgewicht,&km,&fracht);
    gesamt_umsatz(&fracht,&netto,&gesamtumsatz);
    rabatt_funktion(&netto,&rabatt);
    zielpreis_funktion(&rabatt,&gesamtumsatz,&zielpreis);
    
    printf("Anzahl der Kartons:                 %9.0f Stk\n",menge);
    printf("Kilometer:                          %9.0f Km\n",km);
    printf("Gewicht:                            %9.0f Kg\n",gewicht);
    printf("Berechnetes Gewicht:                %9.0f Kg\n",bgewicht);
    printf("Fracht:                             %9.2f EUR\n",fracht);
    printf("Nettoumsatz (Umsatz ohne Fracht):   %9.2f EUR\n",netto);
    printf("Gesamtumsatz (Umsatz mit Fracht):   %9.2f EUR\n",gesamtumsatz);
    printf("Rabatt:                             %9.2f EUR\n",rabatt);
    printf("Zielpreis:                          %9.2f EUR\n",zielpreis);
    
            system("pause");
            return 0;
    
     }
    //-----------------------------------------------------------------------------
    


  • Hab es monetan so gelöst

    if (menge==0)
    {
    return 0;
    }
    

    jedoch schaff ich jetzt nicht mehr das sich das programm wiederholt??
    Bitte helft mir 🙂 Danke



  • Hi

    Was meinst du mit das Program soll sich wiederholen ? Im Moment wiederholt sich lediglich die Eingabe der Auftragemenge weil nur die in der Schleife steht. Das tut sie so lange bis 0 eingegben wird und dann wird auch mit 0 gerechnet aber nur 1 mal weil die main funktion dann endet. Pack mal deine Berchnungen mit in die Schleife. 😉


Anmelden zum Antworten