Struktogramm nach DiN NORM



  • Kann mir jemand zu diesem Programm ein Struktogramm nach DiN Norm entwerfen?

    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    
    char waehleAktion();
    char waehleProdukt();
    
    void zeigeBestaende( float* bestaende, 
    float ergebnis, float ergebnis2,float ergebnis3, 
    float ergebnis4,char produktwahl);   
    
    void zeigeKennziffern(float ergebnis,float ergebnis2, float ergebnis3,
    float ergebnis4);
    
    float stop();
    
    float durchschnitt(float* bestaende);
    
    float umschlaghaeufigkeit ( float ergebnis, float* bestaende);
    
    float durchschnittlicher_Lagerdauer(float ergebnis2);
    
    float erfasseBestaende(float* bestaende );
    
    float Lagerzinssatz(float ergebnis3);
    
    int main ()
    {
    char wahl, produktwahl;
    float bestaendec[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
    float bestaendel[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
    float ergebnisc=0.0, ergebnis2c=0.0,ergebnis3c=0.0, ergebnis4c=0.0;
    float ergebnisl=0.0, ergebnis2l=0.0,ergebnis3l=0.0, ergebnis4l=0.0;
    while(wahl!='b' && wahl!='B')
    {              // while auf 
    
    wahl=waehleAktion();   
    
    switch(wahl)
    {                       //switch auf
        case 'e':{
        case 'E':{  produktwahl=waehleProdukt();
    
                    if(produktwahl=='c' || produktwahl=='C')
                    {
                    erfasseBestaende(bestaendec);  
                    ergebnisc=durchschnitt(bestaendec);
                    ergebnis2c=umschlaghaeufigkeit(ergebnisc,bestaendec);
                    ergebnis3c=durchschnittlicher_Lagerdauer(ergebnis2c);
                    ergebnis4c=Lagerzinssatz( ergebnis3c);
                    }
                    if(produktwahl=='l' || produktwahl=='L')
                    {
                    erfasseBestaende( bestaendel);
                    ergebnisl=durchschnitt(bestaendel);
                    ergebnis2l=umschlaghaeufigkeit(ergebnisl,
                    bestaendel);   
                    ergebnis3l=durchschnittlicher_Lagerdauer(ergebnis2l
                   );   
                    ergebnis4l=Lagerzinssatz(ergebnis3l);
                    }break;
                     }}        
        case 'a' : {
        case 'A' : { produktwahl=waehleProdukt();
                    if(produktwahl=='c' || produktwahl=='C')
                    {
                     zeigeBestaende(bestaendec,ergebnisc, 
                     ergebnis2c,ergebnis3c, ergebnis4c,produktwahl);
                     zeigeKennziffern( ergebnisc, ergebnis2c,  ergebnis3c,
                          ergebnis4c);
    
                 }    
                    if(produktwahl=='l' || produktwahl=='L')
                    {
                     zeigeBestaende(bestaendel, 
                      ergebnisl,ergebnis2l,ergebnis3l, ergebnis4l,produktwahl);
                      zeigeKennziffern( ergebnisl, ergebnis2l,  ergebnis3l,
                           ergebnis4l);
                  };       
                     break;}}
        case 'b' : {
        case 'B' : { stop();
                     break;}}
         default: cout<<"Auswahl nicht vorhanden! ";break;
    }                        // switch zu    
    
    }           //while zu
    
    } // main zu
    //..............FUNKTIONEN............
    //..............EINGABEN..............
    char waehleAktion()
    {
    char wahl;
    cout<<"Was wollen sie tun?"<<endl;
    cout<<"<E> rfassen von Lagerdaten"<<endl;
    cout<<"<A> nzeigen von Lagerdaten"<<endl;
    cout<<"<B> eenden des Programms"<<endl;
    cout<<"--------------------------"<<endl;
    cout<<"Ihre Wahl  ";cin>>wahl;
    cout<<endl;
    return wahl;
    }
    char waehleProdukt()
    {
        char pwahl;
        cout<<"Produktauswahl "<<endl;
        cout<<"<C>ola"<<endl<<"<L>imonade"<<endl;cin>>pwahl;
        return pwahl;
    
    }
    void zeigeBestaende( float* bestaende, float ergebnis, float ergebnis2,
    float ergebnis3 ,float ergebnis4,char produktwahl) 
     {
        if(produktwahl=='c' || produktwahl=='C')
        {
            cout<<"Das Cola Lager im Ueberblick"<<endl;
            cout<<"-------------------------------"<<endl<<endl;
        } 
         if(produktwahl=='l' || produktwahl=='L')
        {
            cout<<"Das Limonade Lager im Ueberblick"<<endl;
            cout<<"----------------------------------"<<endl<<endl;
        }      
            cout<<"Bestaende in Kisten : "<<endl; 
            cout<<"Anfangsbestand : "<<bestaende[0]<<endl;
            for( int i=1;i<=6;i++)
            {
                cout<<i<<". Monat : "<<bestaende[i]<<endl;
            }
            cout<<"Absatz "<<bestaende[7]<<endl;;
            cout<<endl;
        }
    
       float erfasseBestaende(float* bestaende )
    {
    
        cout<<"Geben sie den Anfangsbestand ein : ";cin>>bestaende[0];
       for( int i=1;i<=6;i++)
       {
         cout<<"Geben sie die Monatsendbestaende ein ";cin>>bestaende[i];
       }
       cout<<"Absatz eingeben " ; cin>>bestaende[7];
    
    }
    
    void zeigeKennziffern(float ergebnis,float ergebnis2, float ergebnis3,
    float ergebnis4)
    
    {
    
         cout<<"Durchschnittlicher Lagerbestand : "<<ergebnis<<endl;  
          cout<<"Umschlaghaeufigkeit              : "<<ergebnis2<<endl;
           cout<<"Durchschnittliche Lagerdauer    : "<<ergebnis3<<endl;
           cout<<"Lagerzinssatz     : "<<ergebnis4<<endl;
    }
    
    float stop()
    {
    cout<<"Wir wuenschen Ihnen noch einen schoenen Tag !"<<endl<<endl;
        system("Pause");   
        return 0; 
    
    }
    //..............RECHNUNGEN...............
    float durchschnitt(float* bestaende)
    {
        float summe=0.0,summeuh=0.0;
    
        for( int i=0;i<7;i++)
        {                                      
        summeuh+=bestaende[i];
        }
        summe=summeuh/7;
        return summe;
    }
    
    float umschlaghaeufigkeit ( float ergebnis, float* bestaende)
    {
        float umschlaghaeufigkeit=0.0, summe=0.0;
        umschlaghaeufigkeit=bestaende[7]/ergebnis;
        return umschlaghaeufigkeit;
    }
    
    float durchschnittlicher_Lagerdauer(float ergebnis2)
    {
        float dld=0.0;
    
        dld=180/ergebnis2;
        return dld;
    } 
    
    float Lagerzinssatz(float ergebnis3)
    {
        float lagerzinssatz=0.0 ;
        float bankzins=0.0;
        cout<<"Bitte Bankzins eingeben : ";cin>>bankzins;
        lagerzinssatz=(bankzins*ergebnis3)/360;
        return lagerzinssatz;
    }
    


  • Sicher, können werden das hier die meisten.
    Nur machen nicht 🙄

    Dafür gibts auch Programme die sowas können.
    Such mal bei google nach Rational Rose.


  • Mod

    ist sowieso undefiniertes verhalten drin. ausserdem ist das eher C mit iostreams draufgepackt.



  • oder nimm einen zettel und mal es dir einfach auf...


Anmelden zum Antworten