Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // Lab1 Ferone
- //
- // Created by Nicola Beneduce on 02/10/2018.
- // Copyright © 2018 Nicola Beneduce. All rights reserved.
- //
- #include <iostream>
- using namespace std;
- class contenitore
- {
- int qt=0;
- public:
- contenitore(){};
- void versa (int x) { qt= qt+x;}
- void togli (int x) {qt-=x;}
- int getQt() { return qt;}
- ~contenitore (){};
- };
- class anfora: public contenitore
- {
- int capacita;
- public:
- anfora(){};
- void setta_cap(int litri) {capacita = litri;}
- void riempi(){versa(capacita);};
- void svuota(){togli(getQt());};
- bool isVuota() { return (getQt()==0);};
- bool isPiena() { return (getQt()==capacita);};
- void spostaContenuto(anfora &otre)
- {
- int diff=otre.capacita-otre.getQt();
- if(getQt()<=diff)
- {
- otre.versa(getQt());
- togli(getQt());
- }
- else
- {
- otre.versa(diff);
- togli(diff);
- }
- }
- };
- class indovinello
- {
- anfora anfora3;
- anfora anfora5;
- public:
- indovinello(int lt1, int lt2){anfora3.setta_cap(lt1); anfora5.setta_cap(lt2);};
- void svolgi()
- {
- anfora5.riempi();
- anfora5.spostaContenuto(anfora3);
- anfora3.svuota();
- anfora5.spostaContenuto(anfora3);
- anfora5.riempi();
- anfora5.spostaContenuto(anfora3);
- cout<<"risultato: "<<anfora5.getQt()<<endl;
- }
- ~indovinello() {};
- };
- int main(int argc, const char * argv[])
- {
- indovinello indovinello_i(3, 5);
- indovinello_i.svolgi();
- return 0;
- }
Add Comment
Please, Sign In to add comment