Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- using namespace std;
- int ile = 0;
- class Pracownik
- {
- public:
- string imie, nazwisko, stanowisko;
- void UstawStawke(double stawka);
- double PobierzStawke();
- Pracownik(string imie, string nazwisko, string stanowisko);
- private:
- double stawka;
- };
- static class BazaPracownikow
- {
- public:
- static Pracownik StworzPracownika(string imie, string nazwisko, string stanowsiko);
- static void InfoOZarobkach();
- static void SrednieZarobki();
- static void InfoDoStanowisk();
- private:
- static Pracownik tab[100];
- };
- int main()
- {
- //przykladowi pracownicy
- BazaPracownikow baza = BazaPracownikow();
- Pracownik prac1 = baza.StworzPracownika("Jan", "Krawczyk", "Informatyk");
- Pracownik prac2 = baza.StworzPracownika("Adam", "Kowalczyk", "Rekruter");
- Pracownik prac3 = baza.StworzPracownika("Piotr", "Adamowicz", "Ksiegowy");
- Pracownik prac4 = baza.StworzPracownika("Katarzyna", "Prys", "Ksiegowy");
- Pracownik prac5 = baza.StworzPracownika("Barbara", "Kisiel", "Kierownik");
- prac1.UstawStawke(27.00);
- prac2.UstawStawke(10.00);
- prac3.UstawStawke(10.50);
- prac4.UstawStawke(14.77);
- prac5.UstawStawke(30.10);
- baza.InfoOZarobkach();
- // getch sprawi ze konsola nie zniknie, czeka na nacisniecie klawisza
- _getch();
- }
- void Pracownik::UstawStawke(double stawka)
- {
- this->stawka = stawka;
- }
- double Pracownik::PobierzStawke()
- {
- return this->stawka;
- }
- Pracownik::Pracownik(string imie, string nazwisko, string stanowisko)
- {
- this->imie = imie;
- this->nazwisko = nazwisko;
- this->stanowisko = stanowisko;
- }
- Pracownik BazaPracownikow::StworzPracownika(string imie, string nazwisko, string stanowisko)
- {
- Pracownik nowy = Pracownik(imie, nazwisko, stanowisko);
- if (ile==0)
- ile = 0;
- tab[ile] = nowy;
- ile++;
- return nowy;
- }
- void BazaPracownikow::InfoOZarobkach()
- {
- string imie, nazwisko, stanowisko;
- double stawka;
- for (int i = 0; i < ile; i++)
- {
- imie = tab[i].imie;
- nazwisko = tab[i].nazwisko;
- stanowisko = tab[i].stanowisko;
- stawka = tab[i].PobierzStawke();
- cout << "\nPracownik "<< imie<<" "<<nazwisko <<"("<<stanowisko<<") zarabia "<<stawka*168<<" zloty miesiecznie";
- }
- }
- void BazaPracownikow::SrednieZarobki()
- {
- double SredniaStawka = 0;
- for (int i = 0; i < ile; i++)
- {
- SredniaStawka += tab[i].PobierzStawke();
- }
- cout << "\nSrednia stawka wynosi: " << ((SredniaStawka / ile) * 168);
- }
- void BazaPracownikow::InfoDoStanowisk()
- {
- double NajwiekszaStawka = tab[0].PobierzStawke()*168;
- double NajmniejszaStawka = tab[0].PobierzStawke() * 168;
- string najwieksza[3]{ tab[0].imie, tab[0].nazwisko, tab[0].stanowisko };
- string najmniejsza[3]{ tab[0].imie, tab[0].nazwisko, tab[0].stanowisko };
- for (int i = 1; i < ile; i++)
- {
- if (tab[i].PobierzStawke()*168 < NajmniejszaStawka)
- {
- NajmniejszaStawka = tab[i].PobierzStawke() * 168;
- najmniejsza[0] = tab[i].imie;
- najmniejsza[1] = tab[i].nazwisko;
- najmniejsza[2] = tab[i].stanowisko;
- }
- else if(tab[i].PobierzStawke() * 168 > NajwiekszaStawka)
- {
- NajwiekszaStawka = tab[i].PobierzStawke() * 168;
- najwieksza[0] = tab[i].imie;
- najwieksza[1] = tab[i].nazwisko;
- najwieksza[2] = tab[i].stanowisko;
- }
- }
- cout << "\nNajmniejsza pensje w firmie(" << NajmniejszaStawka << ") otrzymuje " << najmniejsza[0] << " " << najmniejsza[1] << " na stanowisku " << najmniejsza[2];
- cout << "\nNajwieksza pensje w firmie(" << NajmniejszaStawka << ") otrzymuje " << najwieksza[0] << " " << najwieksza[1] << " na stanowisku " << najwieksza[2];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement