Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include "ListaPracownikow.h"
  5. using namespace std;
  6. ListaPracownikow::ListaPracownikow()
  7. {
  8. m_nPoczatek = NULL;
  9. m_nLiczbaPracownikow = 0;
  10. }
  11.  
  12.  
  13. ListaPracownikow::~ListaPracownikow()
  14. {
  15. m_nPoczatek = NULL;
  16. m_nLiczbaPracownikow = 0;
  17. }
  18.  
  19. void ListaPracownikow::Dodaj(const Pracownik & p)
  20. {
  21. Pracownik *zmienna = m_nPoczatek;
  22. Pracownik *nowy = new Pracownik(p);
  23. if (m_nPoczatek == NULL) {
  24. m_nPoczatek = nowy;
  25. m_nPoczatek->m_nNastepny = NULL;
  26. }
  27. else {
  28. if (m_nPoczatek->Porownaj(p) < 0)
  29. {
  30. nowy->m_nNastepny = m_nPoczatek;
  31. m_nPoczatek = nowy;
  32. return;
  33. }
  34.  
  35. else {
  36.  
  37. while (zmienna->m_nNastepny != NULL && zmienna->Porownaj(p) > 0)
  38. {
  39. zmienna = zmienna->m_nNastepny;
  40. }
  41. if (zmienna->Porownaj(p) == 0) return;
  42. nowy->m_nNastepny = zmienna->m_nNastepny;
  43. zmienna->m_nNastepny = nowy;
  44. }
  45. }
  46. }
  47.  
  48. void ListaPracownikow::Usun(const Pracownik & wzorzec)
  49. {
  50. Pracownik *zmienna = new Pracownik;
  51. Pracownik *poczatek = m_nPoczatek;
  52. *zmienna = wzorzec;
  53. if (m_nPoczatek == NULL)
  54. {
  55. cout << "Brak pracownikow!";
  56. }
  57. else
  58. {
  59. if (m_nPoczatek->Porownaj(wzorzec) == 0)
  60. {
  61. m_nPoczatek = m_nPoczatek->m_nNastepny;
  62. return;
  63. }
  64. while (m_nPoczatek != NULL)
  65. {
  66. if (poczatek->m_nNastepny->Porownaj(wzorzec) == 0)
  67. {
  68. poczatek->m_nNastepny = poczatek->m_nNastepny->m_nNastepny;
  69. delete poczatek->m_nNastepny;
  70. return;
  71. }
  72. poczatek = poczatek->m_nNastepny;
  73. }
  74. }
  75. }
  76.  
  77. void ListaPracownikow::WypiszPracownikow() const
  78. {
  79. Pracownik *tmp = m_nPoczatek;
  80. while (tmp != nullptr)
  81. {
  82. tmp->Wypisz();
  83. tmp = tmp->m_nNastepny;
  84. }
  85. }
  86.  
  87. const Pracownik * ListaPracownikow::Szukaj(const char * nazwisko, const char * imie)
  88. {
  89. Pracownik *head = m_nPoczatek;
  90. while (head != NULL)
  91. {
  92. if (head->SprawdzImie(imie) == 0 && head->SprawdzNazwisko(nazwisko) == 0) return head;
  93. head = head->m_nNastepny;
  94. }
  95. return nullptr;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement