Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class Kraj;
- class Polska;
- class Niemcy;
- class Grecja;
- class NiepoprawneDane;
- ostream &operator << (ostream &stream, NiepoprawneDane nd);
- class Kraj
- {
- private:
- string nazwa;
- public:
- friend class NiepoprawneDane;
- //friend bool CzyMamyKryzys(Polska POL, Grecja GRE, Niemcy NIEM); //numero 1
- Kraj(string nazwaInit);
- Kraj();
- string Nazwa();
- ~Kraj();
- };
- Kraj::Kraj(string nazwaInit)
- {nazwa = nazwaInit;}
- Kraj::~Kraj(){}
- string Kraj::Nazwa()
- {return nazwa;}
- Kraj::Kraj(){};
- class NiepoprawneDane
- {
- private:
- float dane;
- string nazwa;
- public:
- friend ostream &operator << (ostream &stream, NiepoprawneDane nd);
- NiepoprawneDane(float nDane, string nNazwa)
- {
- dane = nDane; nazwa = nNazwa;
- }
- NiepoprawneDane(){}
- };
- ostream & operator << (ostream &stream, const NiepoprawneDane nd)
- {
- stream << "Bledne dane: " << nd.nazwa << ", " << nd.dane << "\n";
- return stream;
- }
- class Polska: public Kraj
- {
- private:
- float poziomPKB;
- public:
- friend bool CzyMamyKryzys(Polska POL, Grecja GRE, Niemcy NIEM);
- Polska(float nPoziomPKB) : Kraj("Polska")
- {
- if(nPoziomPKB > 1 || nPoziomPKB < 0)
- {
- NiepoprawneDane nd(nPoziomPKB, Nazwa());
- cout << nd;
- }
- poziomPKB = nPoziomPKB;
- }
- };
- class Grecja: public Kraj
- {
- private:
- float poziomBezrobocia;
- public:
- friend bool CzyMamyKryzys(Polska POL, Grecja GRE, Niemcy NIEM);
- Grecja(float nPoziomBezrobocia): Kraj("Grecja")
- {
- if(nPoziomBezrobocia > 1 || nPoziomBezrobocia < 0)
- {
- NiepoprawneDane nd(nPoziomBezrobocia, Nazwa());
- cout << nd;
- }
- poziomBezrobocia = nPoziomBezrobocia;
- }
- };
- class Niemcy: public Kraj
- {
- private:
- float poziomDeficytu;
- public:
- friend bool CzyMamyKryzys(Polska POL, Grecja GRE, Niemcy NIEM);
- Niemcy(float nPoziomDeficytu): Kraj("Niemcy")
- {
- if(nPoziomDeficytu < 0 || nPoziomDeficytu > 1)
- {
- NiepoprawneDane nd(nPoziomDeficytu, Nazwa());
- cout << nd;
- }
- poziomDeficytu = nPoziomDeficytu;
- }
- };
- bool CzyMamyKryzys(Polska POL, Grecja GRE, Niemcy NIEM)
- {
- if(POL.poziomPKB < 0.3 && GRE.poziomBezrobocia > 0.2)
- return true;
- else if(POL.poziomPKB < 0.3 && NIEM.poziomDeficytu > 0.5)
- return true;
- else if(NIEM.poziomDeficytu > 0.5 && GRE.poziomBezrobocia > 0.2)
- return true;
- else
- return false;
- }
- int main()
- {
- Polska POL(1.9f);
- Grecja GRE(2.9f);
- Niemcy NIEM(3.9f);
- if(CzyMamyKryzys(POL,GRE,NIEM))
- cout << "Niestety, ale jest kryzys\n";
- else
- cout << "Nie ma kryzysu, jest gitara..\n";
- cin.sync();
- cin.get();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement