C++ Aufgabe Zeiten?
Leute ich hab es einen Code erstellt der mir die Zeit in Stunden Minuten und Sekunden zurückgibt ich habe aber den unteren Teil nicht verstanden mit „total_time/3600“ usw wieso die 3600?
3 Antworten
total_time ist in Sekunden. In deinem Beispiel ist angegeben 1000 Sekunden.
Wenn man diese durch 60 Teilt, bekommt man die Minuten. Dann noch mal durch 60 bekommt man die Stunden. Oder wenn man direkt die Stunden haben möchte, (60*60 = 3600) teilt man durch 3600. in diesem Bsp mit 1000 Sekunden, hat man dann 0,2777 -> da aber zeit.hours ein integer ist, wird nur die 0 reingeschrieben.
dann kommen die minuten. hier nutzt man "%" oder Modulo. das wird genutzt um erst mal zu sehen, wie viele Stunden als "Rest" bleibt. also 1000 % 3600 liefert nur den Rest von 1000 Sekunden. 1000/60 = 16,6666 oder 16 Minuten.
Dann kommen die Sekunden
1000 Sekunden Modulo 3600 -> 1000 Sekunden
1000 Sekunden Modulo 60 -> 40 Sekunden
60 sekunden hat eine minute
60 minuten hat eine stunde
will ich von sekunde zu stunde muss ich also durch 60 teilen und dann nochmal durch 60 teilen oder anders
sekunden
________
60 * 60
was gleichbedeuten ist mit
sekunden
________
3600
jetzt fragste dich was das mit dem modulo so auf sich hat .
module zeigt ja die abweichung von ganzen teilern
wenn du also weisst das sekunden / 3600 je ganze stunden sind und willst wissen was bei ganzen teilern abweicht dann machst du
sekunden % 3600
nehmen wir an du hast 3700 sekunden
3700 % 3600 = 100
du weisst das 60 sekunden 1 minute ist , also
100 / 60
somit weist du das wenn du die stunden schon gerechnet hast, nun 1.xx minuten übrig bleit oder abgerundet halt 1 minute.
Weil eine Stunde 60 Minuten hat.
Eine Minute hat 60 Sekunden.
Somit ist eine Stunde 60*60 = 3.600 Sekunden.