Advertisement
NoName977

Data.cpp

Jan 21st, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.28 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include "Data.h"
  3. #include <iostream>
  4. using namespace std;
  5. Data::Data()
  6. {
  7.  
  8. }
  9. Data::Data(int d, int m, int r)
  10. {
  11.     m_nDzien = d;
  12.     m_nMiesiac = m;
  13.     m_nRok = r;
  14. }
  15. Data::~Data()
  16. {
  17.     //dtor
  18. }
  19.  void Data::Ustaw(int d, int m, int r)
  20.  {
  21.      m_nDzien = d;
  22.      m_nMiesiac = m;
  23.      m_nRok = r;
  24.  }
  25.  int Data::Dzien() const
  26.  {
  27.      return m_nDzien;
  28.  }
  29.  int Data::Miesiac() const
  30.  {
  31.      return m_nMiesiac;
  32.  }
  33.  int Data::Rok() const
  34.  {
  35.      return m_nRok;
  36.  }
  37.  void Data::Wypisz() const
  38.  {
  39.      cout<<m_nDzien<<"-"<<m_nMiesiac<<"-"<<m_nRok<<endl;
  40.  }
  41.  void Data::Wpisz()
  42.  {
  43.      cout<<"Podaj Dzien: ";
  44.      cin>>m_nDzien;
  45.      cout<<"Podaj Miesiac: ";
  46.      cin>>m_nMiesiac;
  47.      cout<<"Podaj Rok: ";
  48.      cin>>m_nRok;
  49.      Koryguj();
  50.  }
  51.  void Data::Koryguj()
  52.  {
  53.      if(m_nDzien < 1)
  54.      {
  55.          m_nDzien = 1;
  56.      }
  57.      if(m_nDzien > 29 && m_nMiesiac == 2 && (m_nRok %4 == 0 && m_nRok % 100 != 0 || m_nRok % 400 == 0))
  58.      {
  59.          m_nDzien = 28;
  60.      }
  61.      else if(m_nDzien > 30)
  62.      {
  63.          m_nDzien = 29;
  64.  
  65.      }
  66.      if(m_nMiesiac < 1)
  67.      {
  68.          m_nMiesiac = 1;
  69.      }
  70.      if(m_nMiesiac > 12)
  71.      {
  72.          m_nMiesiac = 12;
  73.      }
  74.      if(m_nDzien > 31 && (m_nMiesiac == 1|| m_nMiesiac == 3 || m_nMiesiac == 5 || m_nMiesiac == 6 || m_nMiesiac == 7 || m_nMiesiac == 9 || m_nMiesiac == 11))
  75.      {
  76.          m_nDzien = 31;
  77.      }
  78.      else if(m_nDzien > 30)
  79.      {
  80.          m_nDzien = 30;
  81.      }
  82.  
  83.  }
  84.  int Data::Porownaj(const Data &wzor) const
  85.  {
  86.      if(wzor.m_nRok > m_nRok)
  87.         return 1;
  88.      else if(wzor.m_nRok < m_nRok)
  89.         return -1;
  90.      else if(wzor.m_nMiesiac > m_nMiesiac)
  91.         return 1;
  92.      else if(wzor.m_nMiesiac < m_nMiesiac)
  93.         return -1;
  94.      else if(wzor.m_nDzien > m_nDzien)
  95.         return 1;
  96.      else if(wzor.m_nDzien < m_nDzien)
  97.         return -1;
  98.      else
  99.         return 0;
  100.  }
  101. istream &operator >> (istream &we, Data &d)
  102. {
  103.     cout<<"Podaj Dzien: "<<endl;
  104.     we>>d.m_nDzien;
  105.     cout<<"Podaj Miesiac: "<<endl;
  106.     we>>d.m_nMiesiac;
  107.     cout<<"Podaj Rok: "<<endl;
  108.     we>>d.m_nRok;
  109.     return we;
  110. }
  111. ostream &operator <<(ostream &wy, const Data &d)
  112. {
  113.     wy<<d.m_nDzien<<"-"<<d.m_nMiesiac<<"-"<<d.m_nRok<<endl;
  114.     return wy;
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement