Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include "ListaPracownikow.h"
- ListaPracownikow::ListaPracownikow()
- {
- m_nLiczbaPracownikow = 0;
- m_pPoczatek = NULL;
- }
- ListaPracownikow::~ListaPracownikow()
- {
- //dtor
- }
- void ListaPracownikow::Dodaj(Pracownik& p)
- {
- Pracownik* aktualny = m_pPoczatek;
- Pracownik * nastepny;
- int i = 0;
- if(m_nLiczbaPracownikow == 0)
- {
- m_pPoczatek = &p;
- p.m_pNastepny = NULL;
- m_nLiczbaPracownikow++;
- return;
- }
- else if(m_nLiczbaPracownikow == 1)
- {
- if(aktualny->SprawdzNazwisko(p.Nazwisko()) > 0)
- {
- m_pPoczatek = &p;
- p.m_pNastepny = aktualny;
- m_nLiczbaPracownikow++;
- return;
- }
- else if(aktualny->SprawdzNazwisko(p.Nazwisko()) < 0)
- {
- aktualny->m_pNastepny = &p;
- m_pPoczatek = NULL;
- m_nLiczbaPracownikow++;
- return;
- }
- }
- else
- {
- nastepny = aktualny->m_pNastepny;
- if(aktualny->SprawdzNazwisko(p.Nazwisko()) > 0)
- {
- m_pPoczatek = &p;
- p.m_pNastepny = aktualny;
- m_nLiczbaPracownikow++;
- return;
- }
- while(i <= m_nLiczbaPracownikow)
- {
- if(nastepny->SprawdzNazwisko(p.Nazwisko()) > 0)
- {
- aktualny->m_pNastepny = &p;
- p.m_pNastepny = nastepny;
- m_nLiczbaPracownikow++;
- return;
- }
- else if(nastepny->SprawdzNazwisko(p.Nazwisko()) < 0)
- {
- aktualny = nastepny;
- nastepny = aktualny->m_pNastepny;
- i++;
- }
- if(nastepny == NULL)
- {
- aktualny->m_pNastepny = &p;
- p.m_pNastepny = NULL;
- m_nLiczbaPracownikow++;
- return;
- }
- }
- }
- }
- void ListaPracownikow::Usun(const Pracownik& wzorzec)
- {
- Pracownik* aktualny = m_pPoczatek;
- Pracownik * poprzedni = NULL;
- if(m_nLiczbaPracownikow == 0)
- {
- cout<<"Brak pracownikow w liscie!"<<endl;
- }
- else
- {
- int i = 0;
- while (i <= m_nLiczbaPracownikow)
- {
- if(aktualny->Porownaj(wzorzec) == 0)
- {
- if(aktualny == m_pPoczatek)
- {
- m_pPoczatek = aktualny->m_pNastepny;
- m_nLiczbaPracownikow++;
- return;
- }
- else
- {
- poprzedni->m_pNastepny = aktualny->m_pNastepny;
- m_nLiczbaPracownikow++;
- return;
- }
- }
- i++;
- }
- cout << "Nie znaleziono Pracownika!" <<endl;
- }
- }
- void ListaPracownikow::WypiszPracownikow() const
- {
- Pracownik* aktualny = m_pPoczatek;
- if(m_nLiczbaPracownikow == 0)
- cout<<"Lista jest pusta"<<endl;
- else
- {
- for(int i = 0; i < m_nLiczbaPracownikow; i++)
- {
- cout<<"Pracownik nr. "<<i<<endl;
- aktualny->Wypisz();
- aktualny = aktualny->m_pNastepny;
- }
- }
- }
- const Pracownik* ListaPracownikow::Szukaj(const char * nazwisko, const char* imie) const
- {
- Pracownik* aktualny = m_pPoczatek;
- if(m_nLiczbaPracownikow == 0)
- cout<<"Lista jest Pusta"<<endl;
- else
- {
- for(int i = 1; i <= m_nLiczbaPracownikow; i++)
- {
- if((aktualny->SprawdzImie(imie) == 0) && (aktualny->SprawdzNazwisko(nazwisko) == 0))
- {
- aktualny->Wypisz();
- return aktualny;
- }
- else
- {
- aktualny = aktualny->m_pNastepny;
- }
- }
- return NULL;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement