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 nichtDafür gibts auch Programme die sowas können.
Such mal bei google nach Rational Rose.
-
ist sowieso undefiniertes verhalten drin. ausserdem ist das eher C mit iostreams draufgepackt.
-
oder nimm einen zettel und mal es dir einfach auf...