Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Zadanie 2.
- #include <iostream>
- #include <conio.h>
- using namespace std;
- class Pracownik
- {
- string nazwisko;
- double pensja;
- double procent;
- public:
- Pracownik(string, double, double);
- void set_nazwisko(string);
- void set_pensja(double);
- void set_procent(double);
- string get_nazwisko() const;
- double get_pensja() const;
- double get_procent() const;
- double wyplata() const;
- };
- Pracownik::Pracownik(string name, double kwota, double premia) : nazwisko(name), pensja(kwota), procent(premia) {}
- void Pracownik::set_nazwisko(string name)
- {
- nazwisko = name;
- }
- void Pracownik::set_pensja(double kwota)
- {
- pensja = kwota;
- }
- void Pracownik::set_procent(double premia)
- {
- procent = premia;
- }
- string Pracownik::get_nazwisko() const
- {
- return nazwisko;
- }
- double Pracownik::get_pensja() const
- {
- return pensja;
- }
- double Pracownik::get_procent() const
- {
- return procent;
- }
- double Pracownik::wyplata() const
- {
- return pensja + procent / 100 * pensja;
- }
- int main()
- {
- Pracownik* tablica[50];
- for(unsigned i = 0; i < 50; ++i)
- tablica[i] = nullptr;
- unsigned ilu = 0;
- bool flaga = true, flaga_nazw;
- char komenda;
- string nazwisko;
- double pensja, procent;
- while(flaga)
- {
- cout << "Co chcesz zrobic?\n";
- cout << "\tA - nowy pracownik\n";
- cout << "\tB - nowa wartosc pensji dla pracownika o podanym nazwisku\n";
- cout << "\tC - nowa wartosc procentu premii dla pracownika o podanym nazwisku\n";
- cout << "\tD - wyplata\n";
- cout << "\tE - wyjdz z programu\n";
- do
- {
- komenda = _getch();
- komenda = toupper(komenda);
- } while(komenda < 'A' || komenda > 'E');
- switch(komenda)
- {
- case 'A':
- cout << "Tworzenie nowego pracownika.\nPodaj nazwisko: ";
- cin >> nazwisko;
- cout << "Podaj pensje pracownika i procent premii: ";
- cin >> pensja >> procent;
- tablica[ilu] = new Pracownik(nazwisko, pensja, procent);
- ++ilu;
- break;
- case 'B':
- cout << "Podaj nazwisko pracownika, ktorego pensje chcesz zmienic: ";
- cin >> nazwisko;
- flaga_nazw = true;
- for(unsigned i = 0; i < ilu; ++i)
- {
- if(tablica[i]->get_nazwisko() == nazwisko)
- {
- cout << "Podaj nowa wartosc pensji: ";
- cin >> pensja;
- tablica[i]->set_pensja(pensja);
- flaga_nazw = false;
- break;
- }
- }
- if(flaga_nazw)
- cout << "Nie znaleziono takiego pracownika\n";
- break;
- case 'C':
- cout << "Podaj nazwisko pracownika, ktorego premie chcesz zmienic: ";
- cin >> nazwisko;
- flaga_nazw = true;
- for(unsigned i = 0; i < ilu; ++i)
- {
- if(tablica[i]->get_nazwisko() == nazwisko)
- {
- cout << "Podaj nowy procent premii: ";
- cin >> procent;
- tablica[i]->set_procent(procent);
- flaga_nazw = false;
- break;
- }
- }
- if(flaga_nazw)
- cout << "Nie znaleziono takiego pracownika\n";
- break;
- case 'D':
- pensja = 0;
- for(unsigned i = 0; i < ilu; ++i)
- pensja += tablica[i]->wyplata();
- cout << "Na wszystkie wyplaty nalezy przeznaczyc " << pensja << endl;
- break;
- case 'E':
- cout << "Nastapi wyjscie z programu. Wcisnij dowolny przycisk...";
- _getch();
- flaga = false;
- }
- }
- for(unsigned i = 0; i < ilu; ++i)
- delete tablica[i];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement