﻿
#include <iostream>
#include <vector>

using namespace std;

class Komputer {
public:
    string opis;
    Komputer(string opis) :opis(opis) {};
};

class Lampa {
public:
    string opis;
    Lampa(string opis) :opis(opis) {};
};

class Biurko {
public:
    string opis;
    Biurko(string opis) :opis(opis) {};
};

class Sala {
private:
    string nazwa;
    vector<Komputer> komputery;
    vector<Lampa> lampy;
    vector<Biurko> biurka;
public:
    // konstruktor obiektu klasy Sala
    Sala(string nazwa, vector<Komputer> komputery, vector<Lampa> lampy, vector<Biurko> biurka) :
        nazwa(nazwa),
        komputery(komputery),
        lampy(lampy),
        biurka(biurka) {};
    string getInwentarz();
};

// metoda wypisuje inwentarz sali
string Sala::getInwentarz()
{
    string inwentarz = "Inwentarz sali " + nazwa +":\n";
    inwentarz += "komputery:\n";
    for (Komputer k : komputery) {
        inwentarz += k.opis + "\n";
    }
    inwentarz += "lampy:\n";
    for (Lampa l : lampy) {
        inwentarz += l.opis + "\n";
    }
    inwentarz += "biurka:\n";
    for (Biurko b : biurka) {
        inwentarz += b.opis + "\n";
    }
    return inwentarz;
}

int main()
{
    // przygotowujemy listy inwentaryzacyjne
    
    //komputery w sali
    Komputer komp1("komputer nr 1: Win7");
    Komputer komp2("komputer nr 2: Win7");
    Komputer komp3("komputer nr 3: Win7");
    vector<Komputer>komputery;
    komputery.push_back(komp1);
    komputery.push_back(komp2);
    komputery.push_back(komp3);
    // lampy w sali
    Lampa lampa1("lampa nr 1: świetlówka");
    Lampa lampa2("lampa nr 2: świetlówka");
    vector<Lampa>lampy;
    lampy.push_back(lampa1);
    lampy.push_back(lampa2);
    // biurka w sali
    Biurko biurko1("biurko nr 1: czerwone");
    Biurko biurko2("biurko nr 2: zielone");
    Biurko biurko3("biurko nr 3: brązowe");
    vector<Biurko>biurka;
    biurka.push_back(biurko1);
    biurka.push_back(biurko2);
    biurka.push_back(biurko3);

    // tworzymy obiekt klasy Sala
    Sala pomaranczowa("pomarańczowa", komputery, lampy, biurka);

    // wypisujemy inwentarz sali
    cout << pomaranczowa.getInwentarz();
}


