Hallo!
Ich hab da eine Aufgabe bei der ich nicht so recht weiter komme -.-
Da ich die Funktionsweise der Header time.h nicht gänzlich verstehe.
Das hier ist die Vorgabe:
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
int main ( void )
{
int zeitInSekunden = time(0);
// Zahl der Sekunden // seit dem 01.01.1970
printf("Seit dem 01.01.1970 sind %d Sekunden vergangen.\n", zeitInSekunden);
system ( "Pause" );
return 0;
}
und DAS soll ich jetzt "pimpen" damit die Ausgabe so auschaut:
Seit dem 01.01.1970 sind vergangen:
1225267606 Sekunden
Das sind 20421126 Minuten
oder 340352 Stunden
oder 14181 Tage
oder 2025 Wochen
oder 38 Jahre
38 Jahre Drücken Sie eine beliebige Taste . . .
Seit dem 01.01.1970 sind vergangen: 38 Jahre, 6 Tage, 8 Stunden, 6 Minuten und 46 Sekunden
Drücken Sie eine beliebige Taste . . .
Meine erste frage:
- Das soll oben bestimmt nicht ctime heißen oder ?
Mein letzter stand daszu ist time.h = C ctime.h = C++ Oder ?
Ich habe dann so bischen unbeholfen losgegelegt und das kam dabei raus:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (void)
{
//Variable
int zeitInSekunden = time(NULL);
//Ausgabe
printf ("Wieviel Zeit ist seit dem 01.01.1970 bis Heute vergangen?\n");
printf ("Seit dem 01.01.1970 sind vergangen:\n");
printf (" %10d Sekunden\n", zeitInSekunden);
printf ("Das sind %10d Minuten\n", zeitInSekunden/60);
printf ("oder %10d Stunden\n", zeitInSekunden/60/60);
printf ("oder %10d Tage\n", zeitInSekunden/60/60/24);
printf ("oder %10d Wochen\n", zeitInSekunden/60/60/24/7);
printf ("oder %10d Jahre\n", zeitInSekunden/60/60/24/365);
system ("Pause");
return 0;
}
Nun bekomme ich das soweit wie es sein soll schonmal ausgegeben... auch eingreückt über rechtsbündig mit 10er platzhalter..
Nur... der WEG ist das ZIEL.. und ich hab schon in anderen Foren gelesen das man eigentlich den eleganteren weg über time_t wählen sollte... und strukture tm
aber da sind wir dann auch schon bei der time.h die ich nicht verstehe...
ich frikl das ganze mit xCode also mit GNU CC
Ich möchte hier eigentlich auch kein mach es so und fertig.. sondern ich will es verstehen...
Exakt gesagt:
Wie gebe ich die Systemzeit Time(0) so schön ausgeteilt in Minuten Sekunden eleganter dar und warum funktioniert das so..
Wie gebe ich die Systemzeit Time(0) welches ja bereits die Zeitdifferenz ist welche ich für Ausgabe der vergangenen Zeit brauche, so schön in Jahre Tage usw aus und nun zu meinem Absoluten Brett vor meinem Kopf...
WIE mach ich das unter Berücksichtigung der Schaltjahre -.-
mfg Dio