Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5. int ile = 0;
  6.  
  7.  
  8. class Pracownik
  9. {
  10. public:
  11.     string imie, nazwisko, stanowisko;
  12.     void UstawStawke(double stawka);
  13.     double PobierzStawke();
  14.     Pracownik(string imie, string nazwisko, string stanowisko);
  15. private:
  16.     double stawka;
  17. };
  18.  
  19. static class BazaPracownikow
  20. {
  21. public:
  22.    static Pracownik StworzPracownika(string imie, string nazwisko, string stanowsiko);
  23.    static void InfoOZarobkach();
  24.    static void SrednieZarobki();
  25.    static void InfoDoStanowisk();
  26. private:
  27.     static Pracownik tab[100];
  28. };
  29.  
  30.  
  31.  
  32. int main()
  33. {
  34.  
  35.     //przykladowi pracownicy
  36.     BazaPracownikow baza = BazaPracownikow();
  37.     Pracownik prac1 = baza.StworzPracownika("Jan", "Krawczyk", "Informatyk");
  38.     Pracownik prac2 = baza.StworzPracownika("Adam", "Kowalczyk", "Rekruter");
  39.     Pracownik prac3 = baza.StworzPracownika("Piotr", "Adamowicz", "Ksiegowy");
  40.     Pracownik prac4 = baza.StworzPracownika("Katarzyna", "Prys", "Ksiegowy");
  41.     Pracownik prac5 = baza.StworzPracownika("Barbara", "Kisiel", "Kierownik");
  42.     prac1.UstawStawke(27.00);
  43.     prac2.UstawStawke(10.00);
  44.     prac3.UstawStawke(10.50);
  45.     prac4.UstawStawke(14.77);
  46.     prac5.UstawStawke(30.10);
  47.  
  48.     baza.InfoOZarobkach();
  49.  
  50.  
  51.     // getch sprawi ze konsola nie zniknie, czeka na nacisniecie klawisza
  52.     _getch();
  53. }
  54.  
  55. void Pracownik::UstawStawke(double stawka)
  56. {
  57.     this->stawka = stawka;
  58. }
  59.  
  60. double Pracownik::PobierzStawke()
  61. {
  62.     return this->stawka;
  63. }
  64.  
  65. Pracownik::Pracownik(string imie, string nazwisko, string stanowisko)
  66. {
  67.     this->imie = imie;
  68.     this->nazwisko = nazwisko;
  69.     this->stanowisko = stanowisko;
  70. }
  71.  
  72. Pracownik BazaPracownikow::StworzPracownika(string imie, string nazwisko, string stanowisko)
  73. {
  74.     Pracownik nowy = Pracownik(imie, nazwisko, stanowisko);
  75.     if (ile==0)
  76.         ile = 0;
  77.     tab[ile] = nowy;
  78.     ile++;
  79.     return nowy;
  80. }
  81.  
  82. void BazaPracownikow::InfoOZarobkach()
  83. {
  84.     string imie, nazwisko, stanowisko;
  85.     double stawka;
  86.     for (int i = 0; i < ile; i++)
  87.     {
  88.         imie = tab[i].imie;
  89.         nazwisko = tab[i].nazwisko;
  90.         stanowisko = tab[i].stanowisko;
  91.         stawka = tab[i].PobierzStawke();
  92.  
  93.         cout << "\nPracownik "<< imie<<" "<<nazwisko <<"("<<stanowisko<<") zarabia "<<stawka*168<<" zloty miesiecznie";
  94.     }
  95. }
  96.  
  97. void BazaPracownikow::SrednieZarobki()
  98. {
  99.     double SredniaStawka = 0;
  100.     for (int i = 0; i < ile; i++)
  101.     {
  102.         SredniaStawka += tab[i].PobierzStawke();
  103.     }
  104.  
  105.     cout << "\nSrednia stawka wynosi: " << ((SredniaStawka / ile) * 168);
  106. }
  107.  
  108. void BazaPracownikow::InfoDoStanowisk()
  109. {
  110.     double NajwiekszaStawka = tab[0].PobierzStawke()*168;
  111.     double NajmniejszaStawka = tab[0].PobierzStawke() * 168;
  112.     string najwieksza[3]{ tab[0].imie, tab[0].nazwisko, tab[0].stanowisko };
  113.     string najmniejsza[3]{ tab[0].imie, tab[0].nazwisko, tab[0].stanowisko };
  114.  
  115.     for (int i = 1; i < ile; i++)
  116.     {
  117.         if (tab[i].PobierzStawke()*168 < NajmniejszaStawka)
  118.         {
  119.             NajmniejszaStawka = tab[i].PobierzStawke() * 168;
  120.             najmniejsza[0] = tab[i].imie;
  121.             najmniejsza[1] = tab[i].nazwisko;
  122.             najmniejsza[2] = tab[i].stanowisko;
  123.         }
  124.         else if(tab[i].PobierzStawke() * 168 > NajwiekszaStawka)
  125.         {
  126.             NajwiekszaStawka = tab[i].PobierzStawke() * 168;
  127.             najwieksza[0] = tab[i].imie;
  128.             najwieksza[1] = tab[i].nazwisko;
  129.             najwieksza[2] = tab[i].stanowisko;
  130.         }
  131.     }
  132.  
  133.     cout << "\nNajmniejsza pensje w firmie(" << NajmniejszaStawka << ") otrzymuje " << najmniejsza[0] << " " << najmniejsza[1] << " na stanowisku " << najmniejsza[2];
  134.     cout << "\nNajwieksza pensje w firmie(" << NajmniejszaStawka << ") otrzymuje " << najwieksza[0] << " " << najwieksza[1] << " na stanowisku " << najwieksza[2];
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement