#pragma once class Data { public: Data(); ~Data(); int Dzien() const { return m_nDzien; } int Miesiac() const { return m_nMiesiac; } int Rok() const { return m_nRok; } void Wypisz() const; void Wpisz(); void Koryguj(); bool Porownaj(const Data & wzor) const; private: int m_nDzien; int m_nMiesiac; int m_nRok; public: void Ustaw(int d, int m, int r); }; #pragma once #include "Data.h" #include #include class Pracownik { public: Pracownik(); ~Pracownik(); const char* Imie() const { return m_pszImie; } const char* Nazwisko() const { return m_pszNazwisko; } void Imie(const char* nowe_imie); void Nazwisko(const char* nowe_nazwisko); void DataUrodzenia(int nowy_dzien, int nowy_miesiac, int nowy_rok); void Wypisz() const; void Wpisz(); bool SprawdzImie(const char* por_imie) const; bool SprawdzNazwisko(const char* por_nazwisko) const; private: char m_pszImie[25]; char m_pszNazwisko[30]; Data m_DataUrodzenia; }; #include "Data.h" #include Data::Data() { } Data::~Data() { } void Data::Wypisz() const { std::cout << m_nDzien << "-" << m_nMiesiac << "-" << m_nRok << std::endl; } void Data::Wpisz() { std::cout <> m_nDzien; std::cout << std::endl << "Podaj miesiac: "; std::cin >> m_nMiesiac; std::cout << std::endl << "Podaj rok: "; std::cin >> m_nRok; Koryguj(); } void Data::Koryguj() { int temp = 0; if (m_nDzien > 31) { m_nDzien = 31; } if (m_nDzien <= 0) { m_nDzien = 1; } if (m_nDzien > 29 && m_nMiesiac == 2) { m_nDzien = 29; } if (m_nDzien == 29 && m_nMiesiac == 2 && (m_nRok % 4 != 0)) { m_nDzien = 28; } if (m_nMiesiac <= 0) { m_nMiesiac = 1; } if (m_nMiesiac > 12) { m_nMiesiac = 12; } } bool Data::Porownaj(const Data & wzor) const { if (this == &wzor) return true; if (m_nDzien == wzor.Dzien() && m_nMiesiac == wzor.Miesiac() && m_nRok == wzor.Rok()) return true; else return false; } void Data::Ustaw(int d, int m, int r) { m_nDzien = d; m_nMiesiac = m; m_nRok = r; Koryguj(); } #include "Pracownik.h" #include #include Pracownik::Pracownik() { } Pracownik::~Pracownik() { } void Pracownik::Imie(const char * nowe_imie) { if (strlen(nowe_imie) > 25) { std::cout << std::endl << "Wprowadzone imie jest za dlugie!"; return; } strcpy_s(m_pszImie,25, nowe_imie); } void Pracownik::Nazwisko(const char * nowe_nazwisko) { if (strlen(nowe_nazwisko) > 30) { std::cout << std::endl << "Wprowadzone nazwisko jest za dlugie!"; return; } strcpy_s(m_pszNazwisko,30, nowe_nazwisko); } void Pracownik::DataUrodzenia(int nowy_dzien, int nowy_miesiac, int nowy_rok) { m_DataUrodzenia.Ustaw(nowy_dzien, nowy_miesiac, nowy_rok); } void Pracownik::Wypisz() const { std::cout << std::endl << "Imie: " << m_pszImie << std::endl << "Nazwisko: " << m_pszNazwisko << std::endl << "Data Urodzenia: "; m_DataUrodzenia.Wypisz(); } void Pracownik::Wpisz() { std::string imie, nazwisko; std::cout << "Podaj imie: "; std::cin >> imie; std::cout << "Podaj nazwisko: "; std::cin >> nazwisko; Imie(imie.c_str()); Nazwisko(nazwisko.c_str()); m_DataUrodzenia.Wpisz(); } bool Pracownik::SprawdzImie(const char * por_imie) const { if (strcmp(m_pszImie, por_imie) == 1) return 1; return 0; } bool Pracownik::SprawdzNazwisko(const char * por_nazwisko) const { if (strcmp(m_pszNazwisko, por_nazwisko) == 1) return 1; return 0; }