002
01.10.2003, 14:29 Uhr
virtual
Sexiest Bit alive (Operator)
|
Nur ausnahmsweise (normalerweise mache ich nicht die Hausaufgaben anderer, aber hete habe ich so einen JavaTag, soweit weg von der Maschine , deshalb sehnte ich mich nach einer kleinen C Aufgabe).
C++: |
#include <stdio.h>
/** * Wandele Zeitgabe der Form "HH:MM" in einen Integer um, der die minuten seit "00:00" enthält. * Rückgabe ist -1, wenn die Zeitgabe im String nicht dem Format HH:MM entspricht. */ int zeit_zu_int(const char* str) { int h; int m; if (2!= sscanf(str, "%02u:%02u", &h, &m)) { return -1; } return h*60+m; }
int main() { char anfang[20]; char ende[20]; int a; int e; int d;
printf("Bitte Anfangszeit angeben (Format HH:MM): "); fflush(stdout); fgets(anfang, sizeof(anfang), stdin); a = zeit_zu_int(anfang); if (-1 == a) { fprintf(stderr, "Falsche Zeitgabe - programm beendet sich!\n"); return 1; }
printf("Bitte Endezeit angeben (Format HH:MM): "); fflush(stdout); fgets(ende, sizeof(ende), stdin); e = zeit_zu_int(ende); if (-1 == e) { fprintf(stderr, "Falsche Zeitgabe - programm beendet sich!\n"); return 1; }
d = e-a; printf("Zwischen Anfang und Ende liegen %d Stunden und %d Minuten\n", d/60, d%60); }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) Dieser Post wurde am 01.10.2003 um 14:31 Uhr von virtual editiert. |