Advertisement
poor_fool_mloody

PracownikCh

Dec 4th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. #pragma once
  2. #include "Napis.h"
  3. #include "Data.h"
  4. class Pracownik
  5. {
  6. public:
  7. Pracownik(const char* imie = "", const char* nazwisko = "", int dzien = 1, int miesiac = 1, int rok = 2000);
  8. Pracownik(const Pracownik &wzor);
  9. ~Pracownik();
  10.  
  11. private:
  12. Napis m_Imie;
  13. Napis m_Nazwisko;
  14. Data m_DataUrodzenia;
  15. const int m_nIDZatrudnienia;
  16. static int pom;
  17.  
  18. public:
  19. const char* Imie() const;
  20. const char* Nazwisko() const;
  21. void Imie(const char* nowe_imie);
  22. void Nazwisko(const char* nowe_nazwisko);
  23. void DataUrodzenia(int nowy_dzien, int nowy_miesiac, int nowy_rok);
  24. void Wypisz() const;
  25. void Wpisz();
  26. int SprawdzImie(const char* por_imie) const;
  27. int SprawdzNazwisko(const char* por_nazwisko) const;
  28. int Porownaj(const Pracownik &wzorzec) const;
  29. Pracownik &operator=(const Pracownik &wzor);
  30. bool operator == (const Pracownik &wzor) const;
  31. friend ostream &operator<<(ostream& wy, const Pracownik &p);
  32. friend istream &operator>>(istream& we, Pracownik &p);
  33.  
  34. };
  35.  
  36. *****************************************************************************
  37. *****************************************************************************
  38.  
  39. #include "Pracownik.h"
  40.  
  41. int Pracownik::pom = 0;
  42.  
  43. Pracownik::Pracownik(const char* imie, const char* nazwisko, int dzien, int miesiac, int rok) : m_DataUrodzenia(dzien, miesiac, rok), m_Imie(imie), m_Nazwisko(nazwisko), m_nIDZatrudnienia(m_nIDZatrudnienia)
  44. {
  45.  
  46. }
  47.  
  48. Pracownik::Pracownik(const Pracownik &wzor) : m_nIDZatrudnienia(m_nIDZatrudnienia+1), m_Imie(wzor.m_Imie), m_Nazwisko(wzor.m_Nazwisko), m_DataUrodzenia(wzor.m_DataUrodzenia)
  49. {
  50.  
  51. }
  52.  
  53.  
  54. Pracownik::~Pracownik()
  55. {
  56. }
  57.  
  58. const char* Pracownik::Imie() const
  59. {
  60. return m_Imie.Zwroc();
  61. }
  62.  
  63. const char* Pracownik::Nazwisko() const
  64. {
  65. return m_Nazwisko.Zwroc();
  66. }
  67.  
  68. void Pracownik::Imie(const char* nowe_imie)
  69. {
  70. m_Imie.Ustaw(nowe_imie);
  71. }
  72.  
  73. void Pracownik::Nazwisko(const char* nowe_nazwisko)
  74. {
  75. m_Nazwisko.Ustaw(nowe_nazwisko);
  76. }
  77.  
  78. void Pracownik::DataUrodzenia(int nowy_dzien, int nowy_miesiac, int nowy_rok)
  79. {
  80. m_DataUrodzenia.Ustaw(nowy_dzien, nowy_miesiac, nowy_rok);
  81. }
  82.  
  83. void Pracownik::Wypisz() const
  84. {
  85. cout << m_Imie.Zwroc() << "\t" << m_Nazwisko.Zwroc() << " ";
  86. m_DataUrodzenia.Wypisz();
  87. }
  88.  
  89. void Pracownik::Wpisz()
  90. {
  91. cout << "\nDane pracownika:\n"
  92. "imie: ";
  93. m_Imie.Wpisz();
  94. cout << "nazwisko: ";
  95. m_Nazwisko.Wpisz();
  96. cout << "data urodzenia: ";
  97. m_DataUrodzenia.Wpisz();
  98.  
  99. }
  100.  
  101. int Pracownik::SprawdzImie(const char* por_imie) const
  102. {
  103. return m_Imie.SprawdzNapis(por_imie);
  104. }
  105.  
  106. int Pracownik::SprawdzNazwisko(const char* por_nazwisko) const
  107. {
  108. return m_Nazwisko.SprawdzNapis(por_nazwisko);
  109. }
  110.  
  111. int Pracownik::Porownaj(const Pracownik &wzorzec) const
  112. {
  113. /*Data wzor;
  114. wzor.Ustaw(wzorzec.m_DataUrodzenia.Dzien(), wzorzec.m_DataUrodzenia.Miesiac(), wzorzec.m_DataUrodzenia.Rok());*/
  115. if (m_Nazwisko.SprawdzNapis(wzorzec.Nazwisko()) == 0 && m_Imie.SprawdzNapis(wzorzec.Imie()) == 0 && m_DataUrodzenia.Porownaj(wzorzec.m_DataUrodzenia) == 0)
  116. return 0;
  117. else
  118. {
  119. if (m_Nazwisko.SprawdzNapis(wzorzec.Nazwisko()) > 0)
  120. return 1;
  121. else if (m_Nazwisko.SprawdzNapis(wzorzec.Nazwisko()) == 0 && m_Imie.SprawdzNapis(wzorzec.Imie()) > 0)
  122. return 1;
  123. else if (m_Nazwisko.SprawdzNapis(wzorzec.Nazwisko()) == 0 && m_Imie.SprawdzNapis(wzorzec.Imie()) == 0 && m_DataUrodzenia.Porownaj(wzorzec.m_DataUrodzenia) > 0)
  124. return 1;
  125. else
  126. return -1;
  127. }
  128. }
  129.  
  130. Pracownik& Pracownik::operator=(const Pracownik &wzor)
  131. {
  132. if (this == &wzor)
  133. return *this;
  134. m_DataUrodzenia = wzor.m_DataUrodzenia;
  135. m_Imie = wzor.m_Imie;
  136. m_Nazwisko = wzor.m_Nazwisko;
  137. }
  138.  
  139. bool Pracownik::operator == (const Pracownik &wzor) const
  140. {
  141. if (this == &wzor)
  142. return true;
  143. if (this->Porownaj(wzor) == 0)
  144. return true;
  145. else
  146. return false;
  147. }
  148.  
  149. ostream &operator<<(ostream& wy, const Pracownik &p)
  150. {
  151. wy << p.m_Imie << endl << p.m_Nazwisko << endl << p.m_DataUrodzenia;
  152. return wy;
  153. }
  154.  
  155. istream &operator>>(istream& we, Pracownik &p)
  156. {
  157. we >> p.m_Imie >> p.m_Nazwisko >> p.m_DataUrodzenia;
  158. return we;
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement