Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.79 KB | None | 0 0
  1. //Data.h
  2. #pragma once
  3. using namespace std;
  4. class Data
  5. {
  6. public:
  7.     Data();
  8.     ~Data();
  9. private:
  10.     int m_nDzien;
  11.     int m_nMiesiac;
  12.     int m_nRok;
  13. public:
  14.     void Ustaw(int d, int m, int r);
  15.     int Dzien() const;
  16.     int Miesiac() const;
  17.     int Rok() const;
  18.     // wypisuje date w postaci dzien-miesiac-rok
  19.     void Wypisz() const;
  20.     // wprowadza dane skladowe ze standardwoego strumienia wejsciowego
  21.     void Wpisz();
  22.     // poprawia date na najblizsza wlasciwa
  23.     void Koryguj();
  24.     bool Porownaj(const Data & wzor) const;
  25. };
  26. //Data.cpp
  27. #include "Data.h"
  28. #include <iostream>
  29.  
  30. using namespace std;
  31.  
  32.  
  33.  
  34. Data::Data()
  35.     : m_nDzien(0)
  36.     , m_nMiesiac(0)
  37.     , m_nRok(0)
  38. {
  39. }
  40.  
  41.  
  42. Data::~Data()
  43. {
  44. }
  45.  
  46.  
  47. void Data::Ustaw(int d, int m, int r)
  48. {
  49.     //if (d > 0 && d < 32 || m > 0 && m < 13 ||
  50.     //  r > 1900 && r < 2100)
  51.     //{
  52.         m_nDzien = d;
  53.         m_nMiesiac = m;
  54.         m_nRok = r;
  55.     //}
  56.     //else
  57.         //cout << "BLAD, NIEPOPRAWNE DANE" << endl;
  58.     void Koryguj();
  59.  
  60. }
  61.  
  62.  
  63. int Data::Dzien() const
  64. {
  65.     return m_nDzien;
  66. }
  67.  
  68.  
  69. int Data::Miesiac() const
  70. {
  71.     return m_nMiesiac;
  72. }
  73.  
  74.  
  75. int Data::Rok() const
  76. {
  77.     return m_nRok;
  78. }
  79.  
  80.  
  81. // wypisuje date w postaci dzien-miesiac-rok
  82. void Data::Wypisz() const
  83. {
  84.     cout << m_nDzien << "-" << m_nMiesiac << "-" << m_nRok << endl;
  85.  
  86. }
  87.  
  88.  
  89. // wprowadza dane skladowe ze standardwoego strumienia wejsciowego
  90. void Data::Wpisz()
  91. {
  92.     cout << "PODAJ DZIEN" << endl;
  93.     cin >> m_nDzien;
  94.     cout << "PODAJ MIESIAC" << endl;
  95.     cin >> m_nMiesiac;
  96.     cout << "PODAJ ROK" << endl;
  97.     cin >> m_nRok;
  98.  
  99. }
  100.  
  101.  
  102. // poprawia date na najblizsza wlasciwa
  103. void Data::Koryguj()
  104. {
  105.     if ((m_nRok % 4) == 0 || (m_nRok % 100) != 0) //rok przestepny
  106.     {
  107.         if (m_nMiesiac == 2)
  108.         {
  109.             if (m_nDzien < 1)
  110.                 m_nDzien = 1;
  111.             if (m_nDzien > 29)
  112.                 m_nDzien = 29;
  113.         }
  114.         else if ((m_nMiesiac % 2) == 0)
  115.         {
  116.             if (m_nDzien < 1)
  117.                 m_nDzien = 1;
  118.             if (m_nDzien > 30)
  119.                 m_nDzien = 30;
  120.         }
  121.         else if ((m_nMiesiac % 2) != 0)
  122.         {
  123.             if (m_nDzien < 1)
  124.                 m_nDzien = 1;
  125.             if (m_nDzien > 31)
  126.                 m_nDzien = 31;
  127.         }
  128.     }
  129.     //rok nieprzestepny
  130.     else
  131.     {
  132.         if (m_nMiesiac == 2)
  133.         {
  134.             if (m_nDzien < 1)
  135.                 m_nDzien = 1;
  136.             if (m_nDzien > 28)
  137.                 m_nDzien = 28;
  138.         }
  139.         else if ((m_nMiesiac % 2) == 0)
  140.         {
  141.             if (m_nDzien < 1)
  142.                 m_nDzien = 1;
  143.             if (m_nDzien > 30)
  144.                 m_nDzien = 30;
  145.         }
  146.         else if ((m_nMiesiac % 2) != 0)
  147.         {
  148.             if (m_nDzien < 1)
  149.                 m_nDzien = 1;
  150.             if (m_nDzien > 31)
  151.                 m_nDzien = 31;
  152.         }
  153.     }
  154. }
  155.  
  156.  
  157.  
  158. bool Data::Porownaj(const Data & wzor) const
  159. {
  160.     if (m_nDzien == wzor.m_nDzien  && m_nMiesiac == wzor.m_nMiesiac
  161.         && m_nRok == wzor.m_nRok)
  162.         return true;
  163.     else
  164.         return false;
  165.  
  166. }
  167. //main
  168. #include <iostream>
  169. #include "Data.h"
  170.  
  171. using namespace std;
  172.  
  173. void main()
  174. {
  175.     Data d1, wzor;
  176.     d1.Ustaw(13, 07, 1992);
  177.     d1.Wypisz();
  178.     wzor.Ustaw(13, 07, 1999);
  179.     cout << d1.Porownaj(wzor);
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement