Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* EKSPRES Program z laborek o ekspresie zawierajacy kilka dodatkowych warunkow*/
- #include <stdio.h>
- #include <conio.h>
- class Ekspres{
- private:
- int poj_w; // pojemnosc zbiornika wody
- int poj_m; // pojemnosc zbiornika mleka
- int il_w; // ilosc wody
- int il_m; // ilosc mleka
- public:
- Ekspres(int Woda, int Mleko); //konstruktor parametryczny
- int WysWode(){return il_w;} // zwraca ilosc wody w zbiorniku
- int WysMleko(){return il_m;} // zwraca ilosc mleka w zbiorniku
- int WysPojW(){return poj_w;} // zwraca pojemnosc zbiornika na wode
- int WysPojM(){return poj_m;} // zwraca pojemnosc zbiornika na mleko
- int DWoda(int Ile); // dodawanie wody
- int DMleko(int Ile); // dodawanie mleka
- bool Biala(); // robienie kawy bialej
- bool Czarna(); // robienie kawy czarnej
- bool Espresso(); // robienie kawy espresso
- };
- /*Ekspres::Ekspres(int Woda, int Mleko){
- poj_w = Woda;
- poj_m = Mleko;
- il_w = 0;
- il_m = 0;
- }*/
- Ekspres::Ekspres(int Woda, int Mleko) :
- poj_w(Woda), poj_m(Mleko), il_w(0), il_m(0)
- {
- }
- int Ekspres::DWoda(int Ile){
- if((Ile > 0) && (Ile + il_w <= poj_w)){
- il_w += Ile;
- return il_w;
- }
- else if(( Ile > 0) && (Ile + il_w > poj_w)){ // warunek zabezpieczajacy przed przebraniem zbiornika
- int i = poj_w - il_w;
- il_w = poj_w;
- return i;
- }
- return 0;
- }
- int Ekspres::DMleko(int Ile){
- if((Ile > 0) && ( Ile + il_m <= poj_m)){
- il_m += Ile;
- return il_m;
- }
- else if((Ile > 0) && (Ile + il_m > poj_m)){ // warunek zabezpieczajacy przed przebraniem zbiornika
- int i = poj_m - il_m;
- il_m = poj_m;
- return i;
- }
- return 0;
- }
- bool Ekspres::Biala(){
- if((il_w >= 3) && ( il_m >= 2))
- {
- il_w -= 3;
- il_m -= 2;
- return 1;
- }
- else{
- printf("\nNie mozna zrobic kawy !\n\n");
- return 0;
- }
- }
- bool Ekspres::Czarna(){
- if((il_w >= 5))
- {
- il_w -= 5;
- return 1;
- }
- else{
- printf("\nNie mozna zrobic kawy !\n\n");
- return 0;
- }
- }
- bool Ekspres::Espresso(){
- if((il_w >= 4))
- {
- il_w -= 4;
- return 1;
- }
- else{
- printf("\nNie mozna zrobic kawy !\n\n");
- return 0;
- }
- }
- int main()
- {
- int Woda = 1000, Mleko = 500; // pojemnosc zb. wody i zb. mleka w mililitrach :)
- int Ile;
- Ekspres ekspres(Woda, Mleko);
- int opcja = -1;
- do{
- printf("POJEMNOSC ZBIORNIKA NA WODE: %d\nILOSC WODY: %d",ekspres.WysPojW(), ekspres.WysWode());
- printf("\nPOJEMNOSC ZBIORNIKA NA MLEKO: %d\nILOSC MLEKA: %d", ekspres.WysPojM(), ekspres.WysMleko());
- printf("\n\n[1]Dodaj wode\n[2]Dodaj mleko\n[3]Kawa biala\n[4]Kawa czarna\n[5]Kawa espresso\n[6]Zakoncz\nTwoj wybor: ");
- scanf("%d", &opcja);
- switch(opcja){
- case 1:
- printf("\nIle wody chcesz dodac? ");
- scanf("%d",&Ile);
- printf("\nDodales %d mililitrow wody.\n\n", ekspres.DWoda(Ile));
- break;
- case 2:
- printf("\nIle mleka chcesz dodac? ");
- scanf("%d", &Ile);
- printf("\nDodales %d mililitrow mleka.\n\n", ekspres.DMleko(Ile));
- break;
- case 3:
- if(ekspres.Biala()) printf("\nUdalo sie !\n\n");
- break;
- case 4:
- if(ekspres.Czarna()) printf("\nUdalo sie !\n\n");
- break;
- case 5:
- if(ekspres.Espresso()) printf("\nUdalo sie !\n\n");
- break;
- case 6:
- printf("\nKoniec !");
- getch();
- return 0;
- break;
- default:
- printf("\nNie ma takiej opcji !");
- break;
- }
- }
- while(opcja != 6);
- getch();
- return 0;
- }
Add Comment
Please, Sign In to add comment