Facebook
From Mature Madrill, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 271
  1. #pragma once
  2. class Data
  3. {
  4. public:
  5.         Data();
  6.         ~Data();
  7.         int Dzien() const { return m_nDzien; }
  8.         int Miesiac() const { return m_nMiesiac; }
  9.         int Rok() const { return m_nRok; }
  10.         void Wypisz() const;
  11.         void Wpisz();
  12.         void Koryguj();
  13.         bool Porownaj(const Data & wzor) const;
  14. private:
  15.         int m_nDzien;
  16.         int m_nMiesiac;
  17.         int m_nRok;
  18. public:
  19.         void Ustaw(int d, int m, int r);
  20. };
  21.  
  22. #pragma once
  23. #include "Data.h"
  24. #include <iostream>
  25. #include <string.h>
  26. class Pracownik
  27. {
  28. public:
  29.         Pracownik();
  30.         ~Pracownik();
  31.         const char* Imie() const { return m_pszImie; }
  32.         const char* Nazwisko() const { return m_pszNazwisko; }
  33.         void Imie(const char* nowe_imie);
  34.         void Nazwisko(const char* nowe_nazwisko);  
  35.         void DataUrodzenia(int nowy_dzien, int nowy_miesiac, int nowy_rok);
  36.         void Wypisz() const;
  37.         void Wpisz();
  38.         bool SprawdzImie(const char* por_imie) const;
  39.         bool SprawdzNazwisko(const char* por_nazwisko) const;
  40.  
  41. private:
  42.         char m_pszImie[25];
  43.         char m_pszNazwisko[30];
  44.         Data m_DataUrodzenia;
  45. };
  46.  
  47.  
  48. #include "Data.h"
  49. #include <iostream>
  50.  
  51.  
  52. Data::Data()
  53. {
  54. }
  55.  
  56.  
  57. Data::~Data()
  58. {
  59. }
  60.  
  61. void Data::Wypisz() const
  62. {
  63.         std::cout << m_nDzien << "-" << m_nMiesiac << "-" << m_nRok << std::endl;
  64. }
  65.  
  66. void Data::Wpisz()
  67. {
  68.         std::cout <<std::endl<< "Podaj dzien :";
  69.         std::cin >> m_nDzien;
  70.         std::cout << std::endl << "Podaj miesiac: ";
  71.         std::cin >> m_nMiesiac;
  72.         std::cout << std::endl << "Podaj rok: ";
  73.         std::cin >> m_nRok;
  74.         Koryguj();
  75. }
  76.  
  77. void Data::Koryguj()
  78. {
  79.         int temp = 0;
  80.         if (m_nDzien > 31)
  81.         {
  82.                 m_nDzien = 31;
  83.         }
  84.         if (m_nDzien <= 0)
  85.         {
  86.                 m_nDzien = 1;
  87.         }
  88.         if (m_nDzien > 29 && m_nMiesiac == 2)
  89.         {
  90.                 m_nDzien = 29;
  91.         }
  92.         if (m_nDzien == 29 && m_nMiesiac == 2 && (m_nRok % 4 != 0))
  93.         {
  94.                 m_nDzien = 28;
  95.         }
  96.         if (m_nMiesiac <= 0)
  97.         {
  98.                 m_nMiesiac = 1;
  99.         }
  100.         if (m_nMiesiac > 12)
  101.         {
  102.                 m_nMiesiac = 12;
  103.         }
  104. }
  105.  
  106. bool Data::Porownaj(const Data & wzor) const
  107. {
  108.         if (this == &wzor)
  109.                 return true;
  110.         if (m_nDzien == wzor.Dzien() && m_nMiesiac == wzor.Miesiac() && m_nRok == wzor.Rok())
  111.                 return true;
  112.         else
  113.                 return false;
  114.  
  115. }
  116.  
  117.  
  118. void Data::Ustaw(int d, int m, int r)
  119. {
  120.         m_nDzien = d;
  121.         m_nMiesiac = m;
  122.         m_nRok = r;
  123.         Koryguj();
  124. }
  125.  
  126. #include "Pracownik.h"
  127. #include <stdio.h>
  128. #include <string>
  129.  
  130. Pracownik::Pracownik()
  131. {
  132. }
  133.  
  134.  
  135. Pracownik::~Pracownik()
  136. {
  137. }
  138.  
  139. void Pracownik::Imie(const char * nowe_imie)
  140. {
  141.         if (strlen(nowe_imie) > 25)
  142.         {
  143.                 std::cout << std::endl << "Wprowadzone imie jest za dlugie!";
  144.                 return;
  145.         }
  146.         strcpy_s(m_pszImie,25, nowe_imie);
  147. }
  148.  
  149. void Pracownik::Nazwisko(const char * nowe_nazwisko)
  150. {
  151.         if (strlen(nowe_nazwisko) > 30)
  152.         {
  153.                 std::cout << std::endl << "Wprowadzone nazwisko jest za dlugie!";
  154.                 return;
  155.         }
  156.         strcpy_s(m_pszNazwisko,30, nowe_nazwisko);
  157. }
  158.  
  159. void Pracownik::DataUrodzenia(int nowy_dzien, int nowy_miesiac, int nowy_rok)
  160. {
  161.         m_DataUrodzenia.Ustaw(nowy_dzien, nowy_miesiac, nowy_rok);
  162. }
  163.  
  164. void Pracownik::Wypisz() const
  165. {
  166.         std::cout << std::endl << "Imie: " << m_pszImie << std::endl <<
  167.                 "Nazwisko: " << m_pszNazwisko << std::endl <<
  168.                 "Data Urodzenia: ";
  169.         m_DataUrodzenia.Wypisz();
  170. }
  171.  
  172. void Pracownik::Wpisz()
  173. {
  174.         std::string imie, nazwisko;
  175.         std::cout << "Podaj imie: ";
  176.         std::cin >> imie;
  177.        
  178.         std::cout << "Podaj nazwisko: ";
  179.         std::cin >> nazwisko;
  180.         Imie(imie.c_str());
  181.         Nazwisko(nazwisko.c_str());
  182.         m_DataUrodzenia.Wpisz();
  183. }
  184.  
  185. bool Pracownik::SprawdzImie(const char * por_imie) const
  186. {
  187.         if (strcmp(m_pszImie, por_imie) == 1)
  188.                 return 1;
  189.         return 0;
  190. }
  191.  
  192. bool Pracownik::SprawdzNazwisko(const char * por_nazwisko) const
  193. {
  194.         if (strcmp(m_pszNazwisko, por_nazwisko) == 1)
  195.                 return 1;
  196.         return 0;
  197. }
  198.  
  199.  
  200.