Info2P5/28.5.2_zeitadd.c
2025-05-17 14:28:24 +02:00

35 lines
945 B
C

#include <stdio.h>
struct zeit {
int tag;
int std;
int min;
int sek;
};
unsigned long zeit_in_sek(struct zeit z) {
return z.tag * 86400 + z.std * 3600 + z.min * 60 + z.sek;
}
struct zeit sek_in_zeit(unsigned long sek) {
struct zeit z;
z.tag = sek / 86400;
sek %= 86400;
z.std = sek / 3600;
sek %= 3600;
z.min = sek / 60;
z.sek = sek % 60;
return z;
}
int main() {
struct zeit z1, z2, summe;
unsigned long s1, s2, sgesamt;
printf("Gib 1. Zeit ein (tt.hh.mm.ss): ");
scanf("%d.%d.%d.%d", &z1.tag, &z1.std, &z1.min, &z1.sek);
printf("Gib 2. Zeit ein (tt.hh.mm.ss): ");
scanf("%d.%d.%d.%d", &z2.tag, &z2.std, &z2.min, &z2.sek);
s1 = zeit_in_sek(z1);
s2 = zeit_in_sek(z2);
sgesamt = s1 + s2;
summe = sek_in_zeit(sgesamt);
printf("= %d Tage, %d:%d:%d; %lu Gesamtsekunden\n",
summe.tag, summe.std, summe.min, summe.sek, sgesamt);
return 0;
}