Hallo,
bitte setze Quellcode in die
Code-Formatierung
(Text markieren und auf den "Code"-Button klicken.) oder lade ihn auf einen Pastebin (z.B.
https://gist.github.com/ oder
https://pastebin.com/) hoch, damit wir besser arbeiten können.
Dein Code hat grundsätzliche Probleme, und ihn zu korrigieren würde mir jetzt zu viel Arbeit machen (außerdem lernt man am Besten, wenn man es selber macht ;) ), deshalb erkläre ich die Vorgehensweise:
Das Hauptproblem ist, das die If-Abfragen sehr unstrukturiert sind.
Besser machst du es so:
if (p1.geburtsdatum.jahr < p2.geburtsdatum.jahr)
{
cout << p1.name << "ist älter.";
}
elseif (p1.geburtsdatum.jahr > p2.geburtsdatum.jahr)
{
cout << p2.name << "ist älter.";
}
else
{
// Hier weitere Abfragen
}
So wird erst verglichen, ob das Geburtsjahr von P1
kleiner ist als das von P2. Wenn das
nicht der Fall ist, wird geprüft, ob das Geburtsjahr von P1
größer ist als das von P2. Sollte das auch
nicht der Fall sein, so müsse man in gleicher Weise den Monat und dann den Tag prüfen.
Ich hoffe, das hilft dir,
Gruß,
Simon