Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<ctime>
- // funkcja tworzaca zmienna time_t z podana data
- time_t utc(int year, int mon, int day, int hour, int min, int sec)
- {
- struct tm time = {0};
- time.tm_year = year -1900;
- time.tm_mon = mon -1;
- time.tm_mday = day;
- time.tm_hour = hour;
- time.tm_min = min;
- time.tm_sec = sec;
- time.tm_isdst = -1;
- time_t nowa=mktime(&time);
- return nowa;
- }
- int main()
- {
- time_t now=utc(1989, 01, 6, 0, 0, 0);
- int dzien=100, miesiac=100 ,rok=0,godzina=100,minuta=100,sekunda=100 ;
- //wczytywanie danych
- std::cout<<" podaj date";
- while (!( dzien >= 1 && dzien <= 31 ))
- {
- std::cout<<"\n dzien:";
- std::cin>>dzien;
- }
- while (!( miesiac >= 1 && miesiac <= 12 ))
- {
- std::cout<<"\nmiesiac:";
- std::cin>>miesiac;
- }
- while (rok <=1989)
- {
- std::cout<<"\nrok:";
- std::cin>>rok;
- }
- while (!( godzina >= 0 && godzina <=23 ))
- {
- std::cout<<"\ngodzine:";
- std::cin>>godzina;
- }
- while (!( minuta >= 0 && minuta <=59 ))
- {
- std::cout<<"\nminute:";
- std::cin>>minuta;
- }
- while (!( sekunda >= 0 && sekunda <=59 ))
- {
- std::cout<<"\nsekunde:";
- std::cin>>sekunda;
- }
- time_t obecna = utc(rok,miesiac,dzien,godzina,minuta,sekunda) ;
- //obliczenie ruznicy sekund pomiedzy datami
- double sec = difftime(obecna ,now );
- //obliczenie pelnych tygodni pomiedzy datami
- int week = int(sec /(60*60*24*7));
- // obliczenie pozostalych sekund
- double sec_dif = int(sec)%(60*60*24*7);
- //wypisanie wyniku
- std::cout << " od daty "<< ctime(&now)<< " do daty ";
- std::cout<<ctime(&obecna)<< std::endl <<"minelo " << week <<" tygodni i "<< sec_dif <<" sekund";
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement