#include "data.h"

Data::Data()
{
 cout<<"konstruktor bezparametrowy klasy Data dla obiektu: ";
 dzien=1;
 miesiac=1;
 rok=2008;
 Wypisz();
}

Data::Data(int d, int m, int r)
{
 cout<<"konstruktor klasy Data o 3 parametrach dla obiektu: ";
 dzien=d;
 miesiac=m;
 rok=r;
 Koryguj();
 Wypisz();
}

Data::~Data()
{
 cout<<"Destruktor klasy Data dla obiektu: ";
 Wypisz();
}

int Data::Dzien()const
{
 return dzien;
}

void Data::Wypisz() const
{
 cout<<dzien<<'-'<<miesiac<<'-'<<rok<<endl;
}

void Data::Koryguj()
{
 int korekta=0;
 if(dzien<1)
 {
  dzien=1;
  korekta=1;
 }
 if(miesiac<1)
 {
  miesiac=1;
  korekta=1;
 }
 else
  if(miesiac>12)
  {
   miesiac=12;
   korekta=1;
  }
 int MaxDni=31;
 if(miesiac==2)
 {
  if(rok%4==0&&rok%100!=0||rok%400==0)MaxDni=29;
  else MaxDni=28;
 }
 else
  if(miesiac==4||miesiac==6||miesiac==9||miesiac==11)MaxDni=30;

 if(dzien>MaxDni)
 {
  dzien=MaxDni;
  korekta=1;
 }
 if(korekta) cout<<"Skorygowano date\n";
}
