Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <iostream>
- #include "ListaPracownikow.h"
- using namespace std;
- ListaPracownikow::ListaPracownikow()
- {
- m_nPoczatek = NULL;
- m_nLiczbaPracownikow = 0;
- }
- ListaPracownikow::~ListaPracownikow()
- {
- m_nPoczatek = NULL;
- m_nLiczbaPracownikow = 0;
- }
- void ListaPracownikow::Dodaj(const Pracownik & p)
- {
- Pracownik *zmienna = m_nPoczatek;
- Pracownik *nowy = new Pracownik(p);
- if (m_nPoczatek == NULL) {
- m_nPoczatek = nowy;
- m_nPoczatek->m_nNastepny = NULL;
- }
- else {
- if (m_nPoczatek->Porownaj(p) < 0)
- {
- nowy->m_nNastepny = m_nPoczatek;
- m_nPoczatek = nowy;
- return;
- }
- else {
- while (zmienna->m_nNastepny != NULL && zmienna->Porownaj(p) > 0)
- {
- zmienna = zmienna->m_nNastepny;
- }
- if (zmienna->Porownaj(p) == 0) return;
- nowy->m_nNastepny = zmienna->m_nNastepny;
- zmienna->m_nNastepny = nowy;
- }
- }
- }
- void ListaPracownikow::Usun(const Pracownik & wzorzec)
- {
- Pracownik *zmienna = new Pracownik;
- Pracownik *poczatek = m_nPoczatek;
- *zmienna = wzorzec;
- if (m_nPoczatek == NULL)
- {
- cout << "Brak pracownikow!";
- }
- else
- {
- if (m_nPoczatek->Porownaj(wzorzec) == 0)
- {
- m_nPoczatek = m_nPoczatek->m_nNastepny;
- return;
- }
- while (m_nPoczatek != NULL)
- {
- if (poczatek->m_nNastepny->Porownaj(wzorzec) == 0)
- {
- poczatek->m_nNastepny = poczatek->m_nNastepny->m_nNastepny;
- delete poczatek->m_nNastepny;
- return;
- }
- poczatek = poczatek->m_nNastepny;
- }
- }
- }
- void ListaPracownikow::WypiszPracownikow() const
- {
- Pracownik *tmp = m_nPoczatek;
- while (tmp != nullptr)
- {
- tmp->Wypisz();
- tmp = tmp->m_nNastepny;
- }
- }
- const Pracownik * ListaPracownikow::Szukaj(const char * nazwisko, const char * imie)
- {
- Pracownik *head = m_nPoczatek;
- while (head != NULL)
- {
- if (head->SprawdzImie(imie) == 0 && head->SprawdzNazwisko(nazwisko) == 0) return head;
- head = head->m_nNastepny;
- }
- return nullptr;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement