Advertisement
MeehoweCK

Untitled

Nov 23rd, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. // struktury
  7. struct Pracownik
  8. {
  9. // pola:
  10.     string imie;
  11.     string nazwisko;
  12.     int wiek;
  13.     char plec;
  14.     double placa;
  15. };
  16.  
  17. unsigned wielkosc_tablicy = 0;
  18.  
  19. void sortuj_wedlug_wieku(Pracownik* pracownicy)
  20. {
  21.     for(unsigned i = 0; i < wielkosc_tablicy; i++)
  22.     {
  23.         for(unsigned j = 0; j < wielkosc_tablicy - i; i++)
  24.         {
  25.             if(pracownicy[j].wiek > pracownicy[j + 1].wiek)
  26.                 swap(pracownicy[j], pracownicy[j + 1]);
  27.             }
  28.     }
  29. }
  30.  
  31. void wypisz_dane(Pracownik pracownik)
  32. {
  33.     cout << pracownik.imie << " " << pracownik.nazwisko << ", ";
  34.     if(pracownik.plec == 'm')
  35.         cout << "mezczyzna, ";
  36.     else
  37.         cout << "kobieta, ";
  38.     cout << "lat " << pracownik.wiek << ", zarabia " << pracownik.placa << " PLN miesiecznie" << endl;
  39. }
  40. Pracownik* dodaj_pracownika(Pracownik* pracownicy)
  41. {
  42.     Pracownik* temp = new Pracownik[wielkosc_tablicy + 1];
  43.     for(unsigned i = 0; i < wielkosc_tablicy; i++)
  44.     {
  45.         temp[i] = pracownicy[i];
  46.     }
  47.     ++wielkosc_tablicy;
  48.     delete[] pracownicy;
  49.     return temp;
  50. }
  51. void wpisz_dane_pracownika(Pracownik* pracownicy, Pracownik nowy)
  52. {
  53.     pracownicy[wielkosc_tablicy - 1].imie = nowy.imie;
  54.     pracownicy[wielkosc_tablicy - 1].nazwisko = nowy.nazwisko;
  55.     pracownicy[wielkosc_tablicy - 1].wiek = nowy.wiek;
  56.     pracownicy[wielkosc_tablicy - 1].plec = nowy.plec;
  57.     pracownicy[wielkosc_tablicy - 1].placa = nowy.placa;
  58. }
  59. int main()
  60. {
  61.     Pracownik* pracownicy;
  62.     Pracownik nowy;
  63.     pracownicy = new Pracownik[wielkosc_tablicy];
  64.     ifstream plik;
  65.     plik.open("plik.txt");
  66.     if(plik.good())
  67.     {
  68.         while(!plik.eof())      // eof() zwraca true jeśli znajdujemy się na końcu pliku
  69.         {
  70.             plik >> nowy.imie >> nowy.nazwisko >> nowy.wiek >> nowy.plec >> nowy.placa;
  71.             pracownicy = dodaj_pracownika(pracownicy);
  72.             wpisz_dane_pracownika(pracownicy, nowy);
  73.         }
  74.     }
  75.     plik.close();
  76.     for(unsigned i = 0; i < wielkosc_tablicy; ++i)
  77.         wypisz_dane(pracownicy[i]);
  78.     delete[] pracownicy;
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement