Witam, miałem za zadanie zrobić program który przelicza sekundy (w moim przypadku 4000s) na ilość godzin, minut oraz sekund, np. 4000s= 1h 6min 40sek.
Wszystko zrobiłem, aczkolwiek nie rozumiem jednej rzeczy (którą być może zle napisałem). W ostatniej linijce jest mowa o sekundach, tzn. mam już zapis 1h 6min i brakuje mi ostatniej wartości którą są sekundy. Jak wiadomo w 1 sekundzie mieści się 1 sekunda, więc moim zdaniem zapis powinien wyglądać nastepująco:
<< (t % 3600) / 1 <<
, jednak wynik wychodzi zły. Kolega doradził mi żebym zastosował takie polecenie jakie mam poniżej, czyli owe << (t % 60) / 1 <<
Moje 2 pytania brzmią następująco:
- Czy kolega dobrze mi doradził i to ja zle myśle (jeśli dobrze prosiłbym o wytłumaczenie czemu tak)
- Czy kod powinien wyglądać jeszcze inaczej
Dziękuję za pomoc, poniżej wklejam kod .cpp
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
cout << t / 3600 << "g" << (t % 3600) / 59 << "m" << (t % 60) / 1 << "s" << endl;
}