Advertisement
MeehoweCK

Untitled

Jun 10th, 2021
673
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Osoba
  6. {
  7.     string imie;
  8.     string nazwisko;
  9.     Osoba* nastepna;
  10.     Osoba() {nastepna = nullptr;}
  11. };
  12.  
  13. ostream& operator<<(ostream& os, const Osoba osoba)
  14. {
  15.     os << osoba.imie << ' ' << osoba.nazwisko;
  16.     return os;
  17. }
  18.  
  19. struct Lista
  20. {
  21.     Osoba* pierwsza;
  22.     void dodaj_osobe(string, string);
  23.     Lista() {pierwsza = nullptr;}
  24. };
  25.  
  26. void Lista::dodaj_osobe(string name, string surname)
  27. {
  28.     Osoba* nowa = new Osoba;
  29.     nowa->imie = name;
  30.     nowa->nazwisko = surname;
  31.     nowa->nastepna = nullptr;
  32.  
  33.     // sprawdzamy czy dana osoba jest pierwszą na liście
  34.     if(pierwsza == nullptr)
  35.         pierwsza = nowa;
  36.     else
  37.     {
  38.         Osoba* temp = pierwsza;
  39.         while(temp->nastepna != nullptr)
  40.             temp = temp->nastepna;
  41.         temp->nastepna = nowa;
  42.     }
  43. }
  44.  
  45. int main()
  46. {
  47.     Lista* lista = new Lista;
  48.  
  49.     lista->dodaj_osobe("Andrzej", "A");
  50.     lista->dodaj_osobe("Beata", "B");
  51.     lista->dodaj_osobe("Cecylia", "C");
  52.     lista->dodaj_osobe("Dominik", "D");
  53.  
  54.     // wyświetlenie listy:
  55.     Osoba* temp = lista->pierwsza;
  56.  
  57.     while(temp != nullptr)
  58.     {
  59.         cout << *temp << endl;
  60.         temp = temp->nastepna;
  61.     }
  62.  
  63.     delete lista;
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement