Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- #include <vector>
- using namespace std;
- class Pracownik;
- class Firma;
- class Konto_bankowe
- {
- private:
- int numerKonta = 100;
- public:
- double stanKonta;
- Konto_bankowe(double stanKonta)
- {
- this->stanKonta = stanKonta;
- }
- //void sprawdzStanKonta()
- //{
- // cout << "stan konta: " << stanKonta << endl;
- //}
- };
- class Pracownik
- {
- private:
- string imie;
- string nazwisko;
- int id;
- double zarobki;
- public:
- Konto_bankowe *kontoPracownika = new Konto_bankowe(10);
- double getZarobki()
- {
- return zarobki;
- }
- int getId()
- {
- return (int)id;
- }
- Pracownik(string imie, string nazwisko, int id, double zarobki)
- {
- this->imie = imie;
- this->nazwisko = nazwisko;
- this->id = id;
- this->zarobki = zarobki;
- }
- void getDane()
- {
- cout << imie << " " << nazwisko << " " << id << " " << zarobki << endl;
- }
- void sprawdzKonto()
- {
- cout << "Imie: " << imie << endl;
- cout << "Nazwisko: " << nazwisko << endl;
- cout << "stan konta pracownika: " << kontoPracownika->stanKonta << endl;
- }
- };
- class Firma
- {
- private:
- string nazwa;
- static Firma* instance;
- public:
- Konto_bankowe *kontoFirmowe = new Konto_bankowe(100);
- vector <Pracownik*> Pracownicy;
- static Firma* getInstance()
- {
- if (instance == NULL)
- instance = new Firma();
- return instance;
- }
- void setNazwa(string nazwa)
- {
- this->nazwa = nazwa;
- }
- void getNazwa()
- {
- cout << nazwa << endl;
- }
- void dodajPracownika(string imie, string nazwisko, int id, double zarobki)
- {
- Pracownik* temp = new Pracownik(imie, nazwisko, id, zarobki);
- Pracownicy.push_back(temp);
- }
- void przelejWynagrodzenie(int id)
- {
- int index;
- for (int i = 0; i < Pracownicy.size(); i++)
- {
- if (Pracownicy[i]->getId() == id)
- {
- index = i;
- break;
- }
- }
- Pracownicy[index]->kontoPracownika->stanKonta += Pracownicy[index]->getZarobki();
- kontoFirmowe->stanKonta -= Pracownicy[index]->getZarobki();
- }
- void sprawdzStanKonta()
- {
- cout <<"Stan Konta firmowego: " << kontoFirmowe->stanKonta << endl;
- }
- void sprawdzStanKontaPracownika(int id)
- {
- int index;
- for (int i = 0; i < Pracownicy.size(); i++)
- {
- if (Pracownicy[i]->getId() == id)
- {
- index = i;
- break;
- }
- }
- Pracownicy[index]->sprawdzKonto();
- }
- };
- Firma *Firma::instance = NULL;
- int main()
- {
- Firma *firma = Firma::getInstance();
- Firma *firma2 = Firma::getInstance();
- firma->dodajPracownika("Mikolaj", "Kobylarz", 0 , 10);
- firma->przelejWynagrodzenie(0);
- firma->sprawdzStanKontaPracownika(0);
- firma->sprawdzStanKonta();
- firma->dodajPracownika("Artur", "Kanclerz", 3, 12);
- firma->przelejWynagrodzenie(3);
- firma->sprawdzStanKontaPracownika(3);
- firma->sprawdzStanKonta();
- firma2->sprawdzStanKontaPracownika(3);
- firma2->sprawdzStanKonta();
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement