Advertisement
MeehoweCK

Untitled

Aug 11th, 2021
921
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. using namespace std;
  5.  
  6. bool rok_przestepny(short rok)
  7. {
  8.     if(rok % 4 != 0)
  9.         return false;
  10.     if(rok % 400 == 0)
  11.         return true;
  12.     if(rok % 100 == 0)
  13.         return false;
  14.     return true;
  15. }
  16.  
  17. int main()
  18. {
  19.     // pobranie aktualnej daty:
  20.     time_t czas;
  21.     struct tm * ptr;
  22.     time( & czas );
  23.     ptr = localtime( & czas );
  24.  
  25.     short DATA_ROK = ptr->tm_year + 1900;
  26.     short DATA_MIESIAC = ptr->tm_mon + 1;
  27.     short DATA_DZIEN = ptr->tm_mday;
  28.  
  29.     // wyliczenie
  30.  
  31.     short user_rok, user_miesiac, user_dzien;
  32.     cout << "Podaj swoja date urodzenia (dzien, miesiac i rok): ";
  33.     cin >> user_dzien >> user_miesiac >> user_rok;
  34.  
  35.     if(DATA_MIESIAC == user_miesiac && DATA_DZIEN == user_dzien)
  36.         cout << "Masz dokladnie " << DATA_ROK - user_rok << ". Wszystkiego najlepszego z okazji urodzin!\n";
  37.     else
  38.     {
  39.         short wiek_lata, wiek_miesiace, wiek_dni;
  40.  
  41.         if(user_miesiac > DATA_MIESIAC || (user_miesiac == DATA_MIESIAC && user_dzien > DATA_DZIEN))
  42.             wiek_lata = DATA_ROK - user_rok - 1;
  43.         else
  44.             wiek_lata = DATA_ROK - user_rok;
  45.  
  46.         if(user_dzien > DATA_DZIEN)
  47.             wiek_miesiace = DATA_MIESIAC - user_miesiac - 1;
  48.         else
  49.             wiek_miesiace = DATA_MIESIAC - user_miesiac;
  50.         if(wiek_miesiace < 0)
  51.             wiek_miesiace += 12;
  52.  
  53.         wiek_dni = DATA_DZIEN - user_dzien;
  54.  
  55.         if(wiek_dni < 0)
  56.         {
  57.             short ile_dni_w_miesiacu;
  58.             if(user_miesiac == 1 || user_miesiac == 3 || user_miesiac == 5 || user_miesiac == 7 || user_miesiac == 8 || user_miesiac == 10 || user_miesiac == 12)
  59.                 ile_dni_w_miesiacu = 31;
  60.             else if(user_miesiac != 2)
  61.                 ile_dni_w_miesiacu = 30;
  62.             else if(rok_przestepny(DATA_ROK))
  63.                 ile_dni_w_miesiacu = 29;
  64.             else
  65.                 ile_dni_w_miesiacu = 28;
  66.             wiek_dni += ile_dni_w_miesiacu;
  67.         }
  68.  
  69.         cout << "Masz " << wiek_lata << " lat, " << wiek_miesiace << " miesiecy i " << wiek_dni << " dni.\n";
  70.     }
  71.  
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement