Klassen und Schleifen



  • Bitte kann jemand mir helfen, ich muss morgen mein Lösung abgeben.
    Bitte wo liegt mein Fehler :

    #include <iostream>
    #include <vector>

    using namespace std;

    class Geburtstag
    {
    public:
    vector<string> vorname ;
    vector<string> nachname;
    vector<int> tag;
    vector<int> monat;
    vector<int> jahr;

    Geburtstag ()
    {
    tag [0];
    monat [0];
    jahr [0];
    }

    void eingeben()
    {
     bool antwort;
        for (int i=0 ; i < vorname.size() ; i++)
     {
        cout << "Bitte geben sie den Vornamen ein "<<endl;
        cin >> vorname[i];
        cout << "Bitte geben sie den Nachnamen ein" << endl;
        cin >> nachname[i];
        cout << "Bitte geben sie den Tag des Geburstdatums ein" << endl;
        cin >> tag[i];
        cout << "Bitte geben sie den Monat des Geburtsdatums ein" << endl;
        cin >> monat[i];
        cout << "Bitte geben sie das Jahr des Geburtsdatums ein" << endl;
        cin >> jahr[i];
        cout << "wollen Sie noch eines weiteren Geburtstages eingeben? "
                "antworten Sie mit ja oder nein" << endl;
        cin >> antwort;
    
        if (antwort = "nein")
            break;
     }
    }
    
    
    void druckenlist ()
    {
        for (int i=0 ; i < vorname.size() ; i++)
            cout << "Name : " << vorname[i] << " " << nachname[i]
                 << ". Geburtsdatum : " << tag[i] << "/" << monat[i] << "/" << jahr[i] << endl;
    }
    

    };

    int main()
    {

    Geburtstag datum;
    datum.eingeben();
    datum.druckenlist();
    
    return 0;
    

    }



  • @Hajar-Izem Was passiert bei dir (Fehlerbeschreibung) und was soll passieren.

    Die Klasse Geburtstag sollte Informationen zu einem Geburtstag enthalten.
    Davon kannst du dann einen Vector machen.



  • Beim Run passiert nicht und bekomme ich leere Seite.
    Und ich weiß nicht wo in der Klasse habe ich fehler gemacht 😞



  • @Hajar-Izem Wie groß wird der Vector am Anfang sein?
    Compiliert Zeile 20 ohne Meldung?



  • die Größe ist nicht erkannt, man kann das auswählen beim eingeben.
    beim Zeile 20 kommt keine Meldung.



  • @Hajar-Izem sagte in Klassen und Schleifen:

    die Größe ist nicht erkannt,

    Wie soll dann die Schleife funktionieren?

    man kann das auswählen beim eingeben.

    wo? (welche Zeile)

    beim Zeile 20 kommt keine Meldung.

    Dann stelle mal den Warnlevel auf Maximum (wie das geht, hängt vom Compiler ab)



  • in Zeile 16 wird der Benutzer gefragt, ob er noch weitere Daten eingeben. Wenn Ja dann kann wird der Größe 2 sein, wenn er noch weitere daten eingibt, dann ist 3...usw aber wenn er stoppen will, dann er gibt ein Nein und der Schleife endet. sorrý wenn ich das schlecht erkläre .



  • @Hajar-Izem sagte in Klassen und Schleifen:

    in Zeile 16 wird der Benutzer gefragt, ob er noch weitere Daten eingeben.

    kommt da das Programm überhaupt hin, wenn der Vector leer ist (die size() Methode liefert 0)?


Anmelden zum Antworten