c++ Modularisierung



  • #include <cstdlib>
    #include <iostream>
    using namespace std;
    
        int main() {
        //Monate
                            enum Monat {Jan = 1, Feb, Mrz, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez = 12 } ;
        //Datum
                            struct Datum {
                            int tag; 
                            int jahr;
                            enum Monat mon;  }; 
        //Geschlecht
                            enum Art { m, w };     
        //Personendaten
                            struct Person {
                            string vorname, name;
                            enum Art geschlecht;
                            struct Datum geburtsdatum;  };
    
        const int max = 10; //Maximal 10 Schüler möglich
        Person klasse[max];
        int n; //Variable für die Anzahl der Schüler
    
        //Anlegen von Schülern
        cout << "Wieviele moechten sie Schueler anlegen? " << endl;
        cin >> n;
        cout << "Sie wollen " << n << " Schueler anlegen " << endl;
    
        //Schleife um Daten für jeden Schüler abzufragen
        for (int i = 0; i < n; i++) {
        cout << "-------------------------" << endl;
        cout << "Bitte Vornamen eingeben: " << endl;
        cin >> klasse[i].vorname;
        cout << endl;    
        cout << "Bitte Nachnamen eingeben: " << endl;
        cin >> klasse[i].name;
        cout << endl;  
        // Eingabe von Geschlecht (enum) 
        cout << "Bitte das Geschlecht angeben( 1 oder 2): " << endl;
        int c;
        cin>> c;
        if(c == 1)
        {
            klasse[i].geschlecht = m;
    
        }
        else if (c == 2)
        {
           klasse[i].geschlecht = w;
    
        } 
        // die Eingabe von Datum Monat (enum)
        cout << "Bitte Geburtstdatum eingeben( Tag ): " << endl;
        cin >> klasse[i].geburtsdatum.tag;
         cout << endl;
        cout << "Bitte Geburtstdatum eingeben( Monat ): " << endl;
        int m ;
        cin >> m;
                klasse[i].geburtsdatum.mon = static_cast<Monat>(m);
         cout << endl;
        cout << "Bitte Geburtstdatum eingeben( Jahr): " << endl;
        cin >> klasse[i].geburtsdatum.jahr;
        cout << endl;
        cout << "-------------------------" << endl;
        cout << endl;     
        }
    
        //Schleife um Daten für jeden Schüler auszugeben
        for (int i = 0; i < n; i++) {
        cout << klasse[i].vorname << endl;
        cout << klasse[i].name << endl; 
        //Ausgabe von Datum,  Monat (enum) und Geschlecht (enum) 
        cout<< klasse[i].geburtsdatum.mon <<endl<< klasse[i].geburtsdatum.jahr<<endl;
        if (klasse[i].geschlecht == m)
             cout << "Mann"<<endl;
        else if (klasse[i].geschlecht == w)
            cout <<"Frau"<<endl;
        }
    
        //Ende
        return 0;
        }
    

    ------------------------------------------------------------------------

    ich wollte das beispile modularisieren,
    kann jemand mir helfen, hab keine idee.

    Danke



  • ich lese mir keinen einzelne zeile durch solange bis du es in codetags packst.



  • Alles, was einen Kommentar hat (außer n) raus aus der main.



  • Extra Funktionen für Eingabe und Ausgabe. Jeweils für einen Schüler.

    hamoucha schrieb:

    cout << "Bitte das Geschlecht angeben( 1 oder 2): " << endl;
    

    Meinst du, dass der Text ausreicht?
    Warum nicht gleich 0 und 1 (wie beim enum)?
    Übrigens kann man bei dir auch ohne Probleme 10 eingeben.



  • Extra Funktionen für Eingabe und Ausgabe. Jeweils für einen Schüler.

    hamoucha schrieb:

    cout << "Bitte das Geschlecht angeben( 1 oder 2): " << endl;
    

    Meinst du, dass der Text ausreicht?
    Warum nicht gleich 0 und 1 (wie beim enum)?
    Übrigens kann man bei dir auch ohne Probleme 10 eingeben.




Log in to reply