Witam mam problem z wyżej wymienionym zadaniem, jego treść to:
"Napisz program, który poprosi użytkownika o podanie liczby sekund (zmienna typu long albo long long, jeśli są dostępne) jako wartości całkowitej (użyj typu long) i pokaże odpowiednik przekazanej liczby w dniach, godzinach minutach i sekundach. Użyj stałej symbolicznej, aby zapisać liczbę godzin w dniu,minut w godzinie i sekund w minucie.Wyniki powinny wyglądać następująco:
Podaj liczbę sekund : 31600000
31600000 sekund = 365 dni, 17 godzin, 46 minut, 40 sekund."
O to do czego udało mi się do tej pory dojść.
#include <iostream>
#define WDOBIE 86400
#define WGODZINIE 3600
#define WMINUCIE 60
int main()
{
using namespace std;
cout << "Podaj liczbe sekund: ";
long long sekundy;
cin >> sekundy;
cout << endl;
int iloscdob;
iloscdob = sekundy / WDOBIE;
int seknah;
seknah = sekundy % WDOBIE;
seknah = seknah / WGODZINIE;
int iloscgodzin;
iloscgodzin = seknah;
int seknaminut = sekundy % WDOBIE;
seknaminut = seknaminut % WGODZINIE;
seknaminut = seknaminut / WMINUCIE;
cout << seknaminut;
int iloscminut;
iloscminut = seknaminut;
int iloscsekund;
iloscsekund = sekundy % WDOBIE;
iloscsekund = iloscsekund % WGODZINIE;
iloscsekund = iloscsekund % WMINUCIE;
cout << sekundy << " sekund = " << iloscdob << " dni, " << iloscgodzin << " godzin, ";
cout << iloscminut << " minut, " << iloscsekund << " sekund.";
return 0;
}
Daje to wynik:
Podaj liczbę sekund: 31600000
4631600000 sekund = 365 dni, 17 godzin, 46 minut, 40 sekund.
Jak widać na pierwszy rzut oka coś jest nie tak z wyświetlaną liczbą sekund. Nie mam pojęcia jak rozwiązać ten problem dlatego proszę chętnych o nakierowanie mnie na rozwiązanie ewentualnie wysłanie mi poprawionego kodu jeżeli zrobiłem bardzo dużo błędów. Dziękuję serdecznie za fatygę.