Mehrere vector<int> Container erzeugen



  • Hallo Leute.

    ich möchte Wochentage mit Datum ausgeben.
    Dafür brauche ich für jeden Wochentag einen eigenen vector<int> Container, um dort die eingelesene Werte zu speichern.
    Leider habe ich in Google nichts zu der Thematik gefunden.
    Soll ich etwa sowas basteln vector<int>Mo etc 😃 😕



  • Hi Helenchen,

    Poste mal die komplette genaue Aufgabenstellung.

    Gruß Mümmel



  • muemmel schrieb:

    Hi Helenchen,

    Poste mal die komplette genaue Aufgabenstellung.

    Gruß Mümmel

    Aufgabenstellung:

    Lesen Sie über die Standardeingabe Wochentag-Wert Paare ein, beispielsweise
    Donnerstag 23 Freitag 56 Donnerstag -3 Dienstag 99
    Legen Sie für jeden Wochentag einen eigenen vector<int> Container an, in dem Sie die
    eingegebenen Werte sammeln. Beenden Sie die Eingabe durch q als Wochentag. Geben Sie
    die Werteliste für jeden der sieben Wochentage aus. Geben Sie den Durchschnittswert in
    jedem Container aus. Ignorieren Sie unzulässige Wochentage wie „Freutag“, aber lassen Sie
    die geläufige Abkürzungen "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So" zu. Geben Sie die Anzahl der
    wegen unzulässigem Tag abgelehnten Werte aus.



  • Hi Helenchen,

    es geht um Daten, nicht um Datum.
    Du brauchst 7 Int-Vektoren. Entweder 7 einzelne Vektoren, ein Feld (Array) mit sieben Vektoren oder ein Vektoe mit 7 Vektoren.
    Alle drei Versionen sind möglich.
    Dazu brauchst Du noch einen Zähler für die Fehleingaben (mit 0 initialisieren)
    Dann must Du jeweils erst Wochentag und dann Zahl einlesen.
    wird "q" erkannt ist die Eingabe beendet und es geht zur Auswertung.
    Vergleiche jede Eingabe der Reihe nach mit den 7 Wochentagen,
    Verwende eine Vergleichsfunktion die nicht auf Groß- und Kleinschreibung achtet oder wandle die Eingabe in Kleinbuchstaben um.
    Jeweils mit den ersten zwei Zeichen und wenn nicht passend mit dem ganzen Namen vergleichen.
    Wenn eine Übereinstimmung gefunden wird, die eingelesene Zahl an den dazugehörigen Vector anhängen,
    Sonst mit dem nächsten Wochentag testen.
    Wenn keine Übereinstimmung gefunden wird die Zahl für die Fehler erhöhen.

    Anschließend für jeden Wochentag der Reihe nach alle Zahlen ausgeben und aufsummieren und anschließend die Summe durch die Anzahl geteilst als Mittelwert ausgeben.
    Danach die Zahl der Fehler ausgeben

    Nun ist es an Dir, daraus ein Programm zu stricken.

    Gruß Mümmel



  • Hi Helenchen,

    noch ein paar Hinweise:
    Eingabe und Vergleich müssen Tag und Zahl kennen.
    Vergleich und Ausgabe müssen die 7 Vektoren kennen.
    Alles in Main erledigen ist möglich aber schlechter Stil.
    Globale Variablen sind auch möglich, aber sehr schlechter Stil.
    Parameter sind zu umständlich.
    Denk mal über eine eigene Klasse WoTag nach.

    Gruß Mümmel



  • helenchen schrieb:

    Hallo Leute.

    ich möchte Wochentage mit Datum ausgeben.
    Dafür brauche ich für jeden Wochentag einen eigenen vector<int> Container, um dort die eingelesene Werte zu speichern.
    Leider habe ich in Google nichts zu der Thematik gefunden.
    Soll ich etwa sowas basteln vector<int>Mo etc 😃 😕

    Lernt man das heute im Studium so?

    Es gibt eine Problemstellung , zu der google keine fertig Lösung ausspuckt. Also ohne jede Eigeninitiative mal im Forum fragen, irgendeiner wird schon eine Lösung posten. Und ich bin mir sicher, dass es Muemmel dir wieder besorgen wird.

    Edit:
    Es sein denn, du machst gar keinen technischen Studiengang, sondern etwas in Richtung Management. Da muss man natürlich nur Arbeit delegieren, statt selbst was zu leisten.



  • Hi DocShoe,

    DocShoe schrieb:

    Und ich bin mir sicher, dass es Muemmel dir wieder besorgen wird.

    Bitte keine Anzüglichkeiten. 😉
    Ich habs Helenchen nicht besorgt und werd es Helenchen auch nicht besorgen. 😃 😃 😃

    Gruß Mümmel



  • DocShoe schrieb:

    Lernt man das heute im Studium so?

    Es gibt eine Problemstellung , zu der google keine fertig Lösung ausspuckt. Also ohne jede Eigeninitiative mal im Forum fragen, irgendeiner wird schon eine Lösung posten. Und ich bin mir sicher, dass es Muemmel dir wieder besorgen wird.

    Edit:
    Es sein denn, du machst gar keinen technischen Studiengang, sondern etwas in Richtung Management. Da muss man natürlich nur Arbeit delegieren, statt selbst was zu leisten.

    Ich wollte nur wissen wie man mit mehreren Vectoren arbeitet und nicht die ganze Lösung. Die bringt mir nicht viel. Du wirst mir 100% nicht glauben, deine Sache. Mümmel wird mir keinen fertigen Code liefern.
    Google kann auch nicht das selbständige Programmschreiben ersetzten.
    Da steht sehr viel Müll ab und zu.
    Ich mag technischen Studiengang und werde weiter um meinen Ziel kämpfen, koste es was es wolle.
    PS: Wenn dir meine Herangehensweise nicht gefällt schreibe einfach nichts zu meinen Posts. 😉



  • Hi Helenchen,

    einen Vector hast Du doch schon in "vector mit fester int anzahl + Name einer Person ausgeben" benutzt. Ein Vector ist nichs anderes als ein Kasten in den man Dinge hineintun kann, nur das er die jeweils passende Form hat, für das was man hineintun will.
    Wenn Du mehrere davon anlegen willst, kannst Du jeden einzelnen komplett bennenen wie bei anderen Variable:
    Datentyp Variable1;
    Datentyp Variable2;
    ...
    Oder Du machst es zusammen
    Datentyp Variable1, Variable2,...;

    Versuch mal aufzuschreiben, wie die Klasse WoTag aussehen könnte, welche Datenelemente sie haben muss und welche Funktionen sie haben muss.

    Und dann versuch mal einen Pseudoquelltext für dein Programm zu entwickeln, also mit normalen Worten beschrieben was es tun soll nach dem Muster

    mache...
    mache...
    mache solange (...)
    {
      wenn (...)
      {
        mache...
      }
      sonst 
      {
        mache...
      }
    }
    mache... 
    mache
    {
      mache...
    }
    solange (...)
    

    und so weiter. Beschreibe mal auf dem Weg, was Dein Programm wie machen muss.

    Gruß Mümmel



  • wir haben in der nächsten Teilaufgabe

    solche Klasse vorgeben:

    class Name_values
    {
    
    public:
    
        Name_values(); // Standardkonstruktor
        Name_values(string, vector<int>); // Konstruktor
        void add_value(int); // weiteren Wert speichern
        void print_all() const; // alles ausgeben gem. Aufgabe
        string get_name() const; // Name liefern
    
    private:
    
        string name;
        vector<int> values;
    };
    

    mache statt 7 Vektoren einen vector<string> week wo die ganzen Wochentage gespreichert werden. Finde etwas besserer Still als 7 mal vector zu schreiben. 😉



  • Hi Helenchen,

    helenchen schrieb:

    mache statt 7 Vektoren einen vector<string> week wo die ganzen Wochentage gespreichert werden. Finde etwas besserer Still als 7 mal vector zu schreiben. 😉

    Was will uns Helenchen damit sagen?

    wir haben in der nächsten Teilaufgabe
    solche Klasse vorgeben:

    Die Klasse die Euch da vorgegeben ist, die ist für genau einen Wochentag. Die brauchst Du auch 7 Mal.

    Aber es geht erst mal um das eigentliche Programm. Nicht schon wieder nach dem nächsten Quelltext schielen.
    Baue eine Klasse WoTag, die die von mir gestellten Forderungen enthält (Wochentag, Nummer, 7 Vektoren und die Funktionen für Einlesen, Vergleichen und Ausgeben.

    Gruß Mümmel



  • Hier ist mein Code , noch im Aufbau. push_back geht mittlerweile. Nur bei der Eingabe von nummer ( habe es x genannt) gibt es Problem, will der Compiler so wie dort steht nicht akzeptieren .

    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    
    class WoTag
    {
    
    public:
    
        WoTag()
    
            : nummer(0)
        {
    
        }
    
        // void vergleiche()
    
            {
        // ;}
    
        int get() const
    
        {
    
            return nummer;
    
        }
    
        void set(int x)
    
        {
    
            nummer = x;
    
        }
    
        // string get(){return wochentag;}
        // void set() {wochentag = 'wt';}
    
    private:
    
        int nummer;
        string wochentag;
    
    };
    
    int main()
    
    {
    
        WoTag tag;
    
        cout << "Bitte geben Sie eine Zahl ein: ";
        cin >> x;
    
        vector<int> Mo;
    
        Mo.clear();
        int x = 0;
        Mo.push_back(x);
    
        for (int i = 0; i < 7; ++i)
    
        {
    
            // nummer = new int(*x);
    
        }
    
        for (int i = 0; i < Mo.size(); ++i)
    
        {
    
            cout << " " << Mo[i] << endl;
    
        }
    


  • Was ist deine Frage? Was für ein "Problem" gibt es? Wieso muss man die alles aus der Nase ziehen? Und wieso ist das nicht im C++-Unterforum?



  • Kenner der Parasiten schrieb:

    Was ist deine Frage? Was für ein "Problem" gibt es? Wieso muss man die alles aus der Nase ziehen? Und wieso ist das nicht im C++-Unterforum?

    Es hat sich geklärt , habe x ich an der falschen Stelle deklariert.
    Frage ist ob ich wirklich mit der Klasse arbeite, wenn ich Zbsp; int x= 0; setze, obwohl es in der Klasse schon definiert ist.
    PS: Von einen Underground Forum habe leider nichts gehört.
    Und ja, ich weiß wie meine Programmierkenntisse sind. 😃



  • Hi Helenchen,

    ich werfe mal einen Vorschlag für Main in den ring:
    (Fehlerbehandlung hab ich mal weggelassen)

    int Main()
    {
      class WoTag Wo_Tag;
    
      while ( Wo_Tag.Eingabe( ) )
      {
        Wo_Tag(Vergleich( );
      }
      Wo_Tag.Ausgabe( );
      Warte( );
    }
    

    Mehr ist in Main nicht nötig.

    Gruß Mümmel



  • Hi Helenchen,

    noch ein Hinweis, so könnte die Klasse WoTag aussehen:

    class WoTag
    {
        private:
            string MachKlein( string Wert );
            int Vergleichen( string TagName );
            void Ausgeben( vector <int> Wochentag, string WTName );
            int Fehlers;
            string Tag, TagKurz, E_Tag;
            int Nummer;
            vector <int> Mo, Di, Mi, Do, Fr, Sa, So;
        public:
            WoTag();
            int Eingabe();
            void Vergleich();
            void Ausgabe();
            string get_name();
            WotagInit();
    };
    

    Gruß Mümmel



  • hier mein Code noch Mal. Leider immer noch relocation Fehler im main.
    Kommt der Fehler nur weil die Funktionen noch nicht ganz implementiert sind?

    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    
    class WoTag
    {
    
    public:
        WoTag()
    
            : nummer()
        {
        }
    
        int Eingabe()
    
        {
            cout << "Bitte einen Wochentag eingeben:" << endl;
            cout << "Bitte Zahl eingeben: " << endl;
        }
    
        void Vergleich();
    
        void Ausgabe();
    
        string get_name()
    
        {
    
            return Tag;
    
        }
    
        WoTagInit()
    
        {
            vector<int> Mo;
    
            Mo.clear();
    
            Mo.push_back(nummer);
    
            for (int i = 0; i < Mo.size(); ++i)
    
            {
    
                cout << " " << Mo[i] << endl;
    
            }
        }
    
    private:
    
        string MachKlein(string Wert);
        int Vergleichen(string TagName);
        void Ausgeben(vector<int> Wochentag, string WTName);
        int Fehlers;
        string Tag, TagKurz, E_Tag;
        int nummer;
        vector<int> Mo, Di, Mi, Do, Fr, Sa, So;
    };
    
    int main()
    {
    
        void Warte();
        WoTag Wo_Tag;
        while (Wo_Tag.Eingabe())
    
        {
            Wo_Tag.Vergleich(); // Ab hier relocation
    
        }
    
        Wo_Tag.Ausgabe();
        Warte();
    
        return 0;
    }
    


  • Hi Helenchen,

    ich schreibe gleich mal in Deinen Quelltext rein, das geht jetzt am schnellsten.

    helenchen schrieb:

    hier mein Code noch Mal. Leider immer noch relocation Fehler im main.
    Kommt der Fehler nur weil die Funktionen noch nicht ganz implementiert sind?

    Vermutlich...
    Ich weiss nicht, was Du da mit den Funktionen in der Klassendefinition für einen Res machst
    Ich hatte Dir einen vollständigen und funktionierenden Klassenentwurf gepostet, den Du nur einsetzen mustest.

    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    
    class WoTag
    {
    
    public:
        WoTag()
    
            : nummer()
    // Was soll das, Nummer ist eine Variable, die sollst Du genau wie die anderen im 
    // Konstruktor auf 0 bzw. "" setzen
    // für den Anfang würde ich nicht mit inline-Deklarationen arbeiten sondern 
    // ordentlich definieren
        {
        }
    
        int Eingabe()
    
        {
            cout << "Bitte einen Wochentag eingeben:" << endl;
            cout << "Bitte Zahl eingeben: " << endl;
    // kann man zusammenfassen, aber Aufforderung reich nicht, Du must auch die 
    // Eingabe in Nummer und E_Tag einlesen und wenn sie "q" ist 0 sonst 1 zurückgeben
    // E_Tag in Kleinbuchstaben umwandeln
        }
    //also noch mal:
    // Aufforderung ausgeben
    // E_Tag (eingabetag) einlesen
    // Kleinbuchstaben daraus machen
    // wenn q dann 0 zurückgeben
    //sonst
    // Nummer einlesen und 1 zurückgeben
    
        void Vergleich();
    // wo ist die Definition?
    // nacheinander mit den Namen aller 7 Wochentage vergleichen und wenn keiner passt
    // Fehlers um 1 erhöhen, ansonsten die Nummer an den passenden Vektoor anhängen
    
        void Ausgabe();
    // ebenso, wo definiert?
    // nacheinander für alle 7 Wochentage Ausgeben aufrufen und danach die Anzahl der Fehler 
    // ausgeben
    
        string get_name()
    // hab ich irgendwo erwähnt, dass Du get_name brauchst
        {
    
            return Tag;
    
        }
    
        WoTagInit()
    // wird nicht mehr gebraucht, geht alles im Konstruktor
    //und wenn werden nur die Variablen auf 0 oder "" gesetzt.
    //init war nur für den Fall, dass mehrere Durchläufe möglich sein sollen.
    / Inhalt ist schrott, Mo ist schon in der Klasse definiert, wie alle anderen
    // Ausgabe nicht in INit sondern in Ausgabe
        {
            vector<int> Mo;
    
            Mo.clear();
    
            Mo.push_back(nummer);
    
            for (int i = 0; i < Mo.size(); ++i)
    
            {
    
                cout << " " << Mo[i] << endl;
    
            }
        }
    
    private:
    
        string MachKlein(string Wert);
    // Wert als Kleinbuchstaben zurückgeben
    
        int Vergleichen(string TagName);
    // Tagname kleinmachen und in Tag speichern, die ersten zwei Zeichen in Tagkurz
    // beide mit E_Tag vergleichen, wenn keiner passt 0 sonst 1 zurückgeben
    
        void Ausgeben(vector<int> Wochentag, string WTName);
    // für den Übergebenen Vektor die Summe der einzelelemente durch Anzahl der Elemente 
    // berechnen.
    // WTName ausgeben, dann nacheinander alle einzelnummern aus dem Vektor 
    //und danach die Summe/Anzahl =Durchschnitt
    
        int Fehlers;
    //Anzahl der Fehler
    
        string Tag, TagKurz, E_Tag;
    // für eigegebenen Tag und den vollständigen und abgekürzten Tagnamen
    
        int nummer;
    //die jeweils eingegebene Nummer
    
        vector<int> Mo, Di, Mi, Do, Fr, Sa, So;
    // die 7 Vectoren für die Nummern
    };
    
    int main()
    {
    
        void Warte();
    //Warum vor dem arbeiten erst warten?
    
        WoTag Wo_Tag;
        while (Wo_Tag.Eingabe())
    
        {
            Wo_Tag.Vergleich(); // Ab hier relocation // ???? Keine Ahnung warum
    
        }
    
        Wo_Tag.Ausgabe();
        Warte();
    
        return 0;
    }
    

    Gruß Mümmel



  • Hi Helenchen,

    noch ein Hinweis zum Konctruktor:
    Wenn Du die Anfangswerte durch Initialisierung setzen willst, was besser als durch Zuweisung ist, dann musst Du die Werte aber auch angeben.
    Nummer( ) ist einfach nur eine Funktion... die es nicht gibt. Anscheinden hat das der Compiler als Initialisierung mit nichts verstanden. Aber es ist überflüssig da es nichts bewirkt. Wenn schon Initialisierung dann so:

    WoTag::WoTag( )
      : Fehlers ( 0 ),
        Nummer  ( 0 ),
        Tag     ( "" ),
        TagKurz ( "" ),
        E_Tag   ( "" )
    {
    }
    

    Insgesamt codest Du recht planlos irgendwas zusammen, ohne eine Vorstellung davon zu haben was Du machen und wie Du es erreichen willst. Irgendwie nach dem Motto "was haben wir denn alles für Elemente und was könnten wir denn damit machen".

    Programmieren hat aber nichts mit Ausprobieren was man womit machen könnte zu tun. Das Primat ist erst mal zu wissen was Du willst. Und das dann in Teilaufgaben zerlegen. Und danach überlegen wie Du die lösen willst. Und erst dann den eigentlichen Quelltext schreiben. Und dabei ganz streng an den vorgeplanten Lösungsweg halten.

    Ich hab Dir schon so oft gesagt, Du sollst erst mal einen Lösungsweg aufzeigen und daraus einen Pseudoquelltext ableiten und den erst mal hier zur Disskusion stellen. Gemacht hast Du es bisher noch nie.

    Das beste Beispiel war Dein Versuch die Funktion Init zu entwerfen. Abgesehen davon, dass sie nicht mehr nötig ist, weil das Programm nur ein mal durchlaufen soll, aber einfach mal darüber nchdenken, was sie machen soll.
    Bei Dir sah sie so aus:

    WoTagInit()
    {
        vector<int> Mo;
        Mo.clear();
        Mo.push_back(nummer);
        for (int i = 0; i < Mo.size(); ++i)
        {
            cout << " " << Mo[i] << endl;
        }
    }
    

    Der Name init sagt ja bereits, dass sie irgend was initialisieren soll. Initialisiert wird aber am Anfang vor allem anderen.
    Wozu

    vector<int> Mo;
    

    Das ist doch eindeutig an der Klassendefinition

    vector <int> Mo, Di, Mi, Do, Fr, Sa, So;
    

    zu erkennen, dass die da schon definiert werden. Also wozu hier.

    Mo.push_back(nummer);
    

    Dass man ein Clear vorschieben kann geht, ist aber bei einmaligem Durchlauf nicht erforderlich.

    Mo.push_back(nummer);
    

    Wie gesagt, wir sind bei der Initialisierung. Woher willst Du jetzt schon wissen, welche Nummer da angehängt werden soll? Die soll doch erst im Lauf des Programms eingegeben werden.

    cout << " " << Mo[i] << endl;
    

    Warum Du jetzt schon ausgeben willst weist Du sicher selber nicht. Das Ausgeben der Ergebnisse erfolgt in dem Programm ganz am Ende der Verarbeitung. Die Funktion dazu heist ja auch Ausgabe.
    Außerdem, Du machst einmal

    push_back(n ummer);
    

    und willst dann in einer ganzen Schleife den Vektor ausgeben? Wo sollen denn die ganzen anderen Werte im Vektor herkommen.

    Ich hoffe, ich konnte Dir ein wenig klar machen, woran es hapert.
    Bis zum Semesterabschluss im Sommer ist nicht mer endlos Zeit. Wenn Du eine Chance haben willst, den Abschluss zu schaffen, dann must Du jetzt entgültig dazu übergehen etwas strukturiert zu arbeiten und nicht einfach irgendwas draufloszutippen. Mit dem derzeitigen Arbeitsstil hast Du keine Chancen irgendwelche Prüfungen zu schaffen. Also ändere ihn am besten sofort.

    Gruß Mümmel



  • Hier ist das fertige Programm. Funktionen MachKlein(), Vergleichen und Ausgeben habe ich weggelassen , weil die mir überflüssig erschienen 😉

    #include <iostream>
    #include <vector>
    #include <string>
    
    using namespace std;
    
    class WoTag
    {
    
    public:
    
        WoTag();
        int Eingabe();
        void Vergleich();
        void Ausgabe();
        void warte();
    
    private:
    
        int Fehlers;
        string E_Tag;
        int nummer;
        vector<int> Mo, Di, Mi, Do, Fr, Sa, So;
    };
    
    WoTag::WoTag()
    
        : Fehlers(0)
         , nummer(0)
         , Tag("")
         , TagKurz("")
         , E_Tag("")
    
    {
    }
    
    WoTag::Eingabe()
    {
    
        cout << "Bitte einen Wochentag eingeben:";
        cin >> E_Tag;
    
        if (E_Tag == "q")
        {
    
            return 0;
    
        }
        else
        {
            cout << "Bitte Zahl eingeben: " << endl;
            cin >> nummer;
    
            return 1;
        }
    }
    
    void WoTag::Vergleich()
    {
    
        if (E_Tag == "Mo" || E_Tag == "Montag")
        {
    
            Mo.push_back(nummer);
    
        }
        else
        {
            if (E_Tag == "Di" || E_Tag == "Dienstag")
            {
    
                Di.push_back(nummer);
    
            }
            else
            {
                if (E_Tag == "Mi" || E_Tag == "Mitwoch")
                {
    
                    Mi.push_back(nummer);
    
                }
                else
                {
    
                    if (E_Tag == "Do" || E_Tag == "Donnerstag")
                    {
    
                        Do.push_back(nummer);
    
                    }
                    else
                    {
                        if (E_Tag == "Fr" || E_Tag == "Freitag")
                        {
    
                            Fr.push_back(nummer);
    
                        }
                        else
                        {
                            if (E_Tag == "Sa" || E_Tag == "Samstag")
                            {
    
                                Sa.push_back(nummer);
    
                            }
                            else
                            {
                                if (E_Tag == "So" || E_Tag == "Sonntag")
                                {
    
                                    So.push_back(nummer);
    
                                }
                                else
                                {
    
                                    Fehlers++;
    
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    void WoTag::Ausgabe()
    {
    
        int Temp;
    
        if (Mo.size())
        {
    
            Temp = 0;
            cout << "Montag:" << endl;
            for (int i = 0; i < Mo.size(); ++i)
            {
    
                cout << "Wert/e: " << Mo[i] << endl;
                Temp = Temp + Mo[i];
    
            }
    
            cout << "Mittelwert: " << Temp / Mo.size() << endl;
            cout << " Anzahl der Werte: " << Mo.size() << endl;
    
        }
    
        if (Di.size())
        {
    
            Temp = 0;
            cout << "Dienstag:" << endl;
    
            for (int i = 0; i < Di.size(); ++i)
    
            {
    
                cout << " Wert/e:" << Di[i] << endl;
                Temp = Temp + Di[i];
    
            }
    
            cout << " Mittelwert: " << Temp / Di.size() << endl;
            cout << " Anzahl der Werte:  " << Di.size() << endl;
    
        }
    
        if (Mi.size())
        {
    
            Temp = 0;
            cout << "Mittwoch:" << endl;
    
            for (int i = 0; i < Mi.size(); ++i)
            {
    
                cout << "Wert/e: " << Mi[i] << endl;
                Temp = Temp + Mi[i];
    
            }
    
            cout << "Mittelwert: " << Temp / Mi.size() << endl;
            cout << " Anzahl der Werte:  " << Mi.size() << endl;
    
        }
    
        if (Do.size())
        {
    
            Temp = 0;
            cout << "Donnerstag:" << endl;
            for (int i = 0; i < Do.size(); ++i)
            {
    
                cout << "Wert/e: " << Do[i] << endl;
                Temp = Temp + Do[i];
    
            }
    
            cout << " Mittelwert: " << Temp / Do.size() << endl;
            cout << " Anzahl der Werte:  " << Do.size() << endl;
        }
    
        if (Fr.size())
        {
            Temp = 0;
            cout << "Freitag:" << endl;
    
            for (int i = 0; i < Fr.size(); ++i)
            {
    
                cout << " Wert/e: " << Fr[i] << endl;
                Temp = Temp + Fr[i];
    
            }
    
            cout << "Mittelwert: " << Temp / Fr.size() << endl;
            cout << " Anzahl der Werte: " << Fr.size() << endl;
    
        }
    
        if (Sa.size())
        {
    
            Temp = 0;
            cout << "Samstag:" << endl;
    
            for (int i = 0; i < Sa.size(); ++i)
            {
    
                cout << " Wert/e: " << Sa[i] << endl;
                Temp = Temp + Sa[i];
    
            }
    
            cout << " Mittelwert: " << Temp / Sa.size() << endl;
            cout << " Anzahl der Werte: " << Sa.size() << endl;
    
        }
    
        if (So.size())
        {
            Temp = 0;
            cout << "Sonntag:" << endl;
    
            for (int i = 0; i < So.size(); ++i)
            {
    
                cout << "Wert/e: " << So[i] << endl;
                Temp = Temp + So[i];
    
            }
    
            cout << "Mittelwert: " << Temp / So.size() << endl;
            cout << " Anzahl der Werte: " << So.size() << endl;
    
        }
    
        cout << "Fehlers " << Fehlers << endl;
    
    }
    
    void WoTag::warte()
    {
    
        string eingabetag;
        cin.ignore();
        getline(cin, eingabetag, 'q');
    
    }
    
    int main()
    {
    
        WoTag Wo_Tag;
    
        while (Wo_Tag.Eingabe())
        {
    
            Wo_Tag.Vergleich();
    
        }
    
        Wo_Tag.Ausgabe();
        Wo_Tag.warte();
    
        return 0;
    
    }
    

Log in to reply