Ist es möglich 2 Daten zu Subtrahieren?

Hallo,

Als Prozess des Lernens der Sprache C, habe ich mir vorgenommen ein Programm zu schreiben, welches das aktuelle Datum bezieht (was soweit kein Problem darstellt), und ein Geburtsdatum abfragt.
Die eingabe solle folgendes Format haben, „Tag.Monat.Jahr“
quasi alles hintereinander mit punkten getrennt.
Das Programm soll nun das Alter ausgeben.

allerdings stoße ich da schon auf ein Problem.
Ich habe absolut keine Idee wie ich das bewerkstelligen soll das man 2 Daten subtrahieren(?) kann. und selbst wenn ich wüsste wie ich dem Programm sagen könnte wie es die Daten aufnehmen soll, wie soll es daraus auf das alter schließen?

Ich weis, was man jetzt denken könnte,

„warum sowas schwieriges, versuch doch etwas was du kannst!“

aber wie gesagt will ich ja etwas lernen.

Jeder Denkanstoß ist hilfreich, ich erwarte und möchte gar keine fertigen scripts, einfach nur Anstöße und Möglichkeiten wie es klappen könnte. den Rest google ich mir zusammen.

mfg
tim

geburt : tag.monat.jahr
heute : tag.monat.jahr

wir nehmen mal das format mit führenden nullen
00.00.0000

#include 
char zk[16];
gets(zk);

nun ist ja
zk[0] zk[1] der tag
zk[3] zk[4] der monat
zk[6] zk[7] zk[8] zk[9] das jahr

da das alles ASCII zeichen sind , brauchst du erstmal eine Zahl die der Computer auch als Zahl interpretiert.

Dann kannst du subtrahieren und bekommst die abgelaufene Lebensdauer.

wenn es erstmal nur um die lebenszeit in jahren geht
dann nicht vergessen zu vergleichen ob der heutige monat und tag vor bzw gleich oder nach dem geburts monat bzw tag liegt , denn damit ändert sich ja auch erst das vollendete lebensjahr.

Bin bei dem Projekt auf ein weiteres Problem gestoßen, zudem ich allerdings überhaupt nichts finden konnte.

und zwar, wie kann ich sagen wir bei „char bday[9]“ (was in meinem tool die eingabe des Users darstellt) nur die für den tag und monat benötigten 2 und für das jahr gebrauchten 4 Zeichen auslesen.

also kurzum, wie kann man aus einem String nur 2 bzw. 4 bestimmte zeichen auslesen, wenn man weis wo zum schluss was steht.
diese Zeichen werden dann logischer weise via Atoi in einen INT-wert umgewandelt.

gruß
tim

Moin moin,

ist dein Thema noch aktuell? Die Frage mit den speziellen Zeichen, die du auslesen wolltest ist doch noch aktuell, oder?

Wenn du einen String „test“ hast, so kannst du mithilfe der Methode test.substr() auf einen Substring, also eine enthaltene Zeichenkette zugreifen. Als Parameter gibt es den Beginn des „Ausschnitts“ und als zweiten Parameter das Ende des Ausschnitts.
Hilft dir das?

Gruß,
Shisu