Ich bin selbst noch C/C++ Anfänger, aber würde das ganze nicht so viel
besser und eleganter funktionieren:
1) Überhaupt gleich schreiben:
uebernehmen = (oldminute != minute);
Im Prinzip schaust du, ob eine Sekunde vor gezählt wurde (also um 1
inkrementiert wurde) oder ob zurückgesetzt wurde. Warum machst du das
über so komische Verrenkungen wie -59? Warum gibst du nicht gleich
absolut 0 an wie eine Konstante? Dadurch hast du auch weniger Fehler,
den wenn du "=" statt "==" schreibst, wäre das eine Zuweisung zu einer
Konstante und dadurch hättest du schon einen Compilerfehler...
2)Falls du es doch so wie hier programmieren würdest, würde ich das
ganze in Strukturen aufteilen. Eine Struktur time mit minute, hour ,
day... usw. und dann erzeugst du
struct time oldtime;
struct time newtime;
3) Ich würde das ganze in eine Funktion packen. z.b.
uint_8t check_if_new_time(const * const struct time oldtime, const *
const struct time newtime);
Danach wäre der Aufruf:
uebernehmen = check_if_new_time(&oldtime, &newtime);
viel schöner und leichter zu lesen. (vll. gehören da noch casts hin auf
Konstant? Weiß jetzt gerade nicht, glaube aber schon.)
Da ich selbst noch programmier-Anfänger bin, würde soetwas gescheiter
sein oder sollte es doch so wie hier geschrieben werden? Ich würde es
allerdings mit Strukturen und Funktionen machen oO. Sollte die Funktion
dann nicht auf inline sein? Über Antworten wäre ich wirklich dankbar ;)