pieniakoskar

Ekspres

Mar 19th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. /* EKSPRES Program z laborek o ekspresie zawierajacy kilka dodatkowych warunkow*/
  2.  
  3. #include <stdio.h>
  4. #include <conio.h>
  5.  
  6. class Ekspres{
  7. private:
  8. int poj_w; // pojemnosc zbiornika wody
  9. int poj_m; // pojemnosc zbiornika mleka
  10. int il_w; // ilosc wody
  11. int il_m; // ilosc mleka
  12.  
  13. public:
  14. Ekspres(int Woda, int Mleko); //konstruktor parametryczny
  15. int WysWode(){return il_w;} // zwraca ilosc wody w zbiorniku
  16. int WysMleko(){return il_m;} // zwraca ilosc mleka w zbiorniku
  17. int WysPojW(){return poj_w;} // zwraca pojemnosc zbiornika na wode
  18. int WysPojM(){return poj_m;} // zwraca pojemnosc zbiornika na mleko
  19. int DWoda(int Ile); // dodawanie wody
  20. int DMleko(int Ile); // dodawanie mleka
  21. bool Biala(); // robienie kawy bialej
  22. bool Czarna(); // robienie kawy czarnej
  23. bool Espresso(); // robienie kawy espresso
  24. };
  25.  
  26. /*Ekspres::Ekspres(int Woda, int Mleko){
  27. poj_w = Woda;
  28. poj_m = Mleko;
  29. il_w = 0;
  30. il_m = 0;
  31. }*/
  32.  
  33. Ekspres::Ekspres(int Woda, int Mleko) :
  34. poj_w(Woda), poj_m(Mleko), il_w(0), il_m(0)
  35. {
  36. }
  37.  
  38. int Ekspres::DWoda(int Ile){
  39.  
  40. if((Ile > 0) && (Ile + il_w <= poj_w)){
  41. il_w += Ile;
  42. return il_w;
  43. }
  44. else if(( Ile > 0) && (Ile + il_w > poj_w)){ // warunek zabezpieczajacy przed przebraniem zbiornika
  45. int i = poj_w - il_w;
  46. il_w = poj_w;
  47. return i;
  48. }
  49. return 0;
  50. }
  51.  
  52. int Ekspres::DMleko(int Ile){
  53.  
  54. if((Ile > 0) && ( Ile + il_m <= poj_m)){
  55. il_m += Ile;
  56. return il_m;
  57. }
  58. else if((Ile > 0) && (Ile + il_m > poj_m)){ // warunek zabezpieczajacy przed przebraniem zbiornika
  59. int i = poj_m - il_m;
  60. il_m = poj_m;
  61. return i;
  62. }
  63. return 0;
  64. }
  65.  
  66. bool Ekspres::Biala(){
  67.  
  68. if((il_w >= 3) && ( il_m >= 2))
  69. {
  70. il_w -= 3;
  71. il_m -= 2;
  72. return 1;
  73. }
  74. else{
  75. printf("\nNie mozna zrobic kawy !\n\n");
  76. return 0;
  77. }
  78. }
  79.  
  80. bool Ekspres::Czarna(){
  81.  
  82. if((il_w >= 5))
  83. {
  84. il_w -= 5;
  85. return 1;
  86. }
  87. else{
  88. printf("\nNie mozna zrobic kawy !\n\n");
  89. return 0;
  90. }
  91.  
  92. }
  93.  
  94. bool Ekspres::Espresso(){
  95.  
  96. if((il_w >= 4))
  97. {
  98. il_w -= 4;
  99. return 1;
  100. }
  101. else{
  102. printf("\nNie mozna zrobic kawy !\n\n");
  103. return 0;
  104. }
  105. }
  106.  
  107. int main()
  108. {
  109. int Woda = 1000, Mleko = 500; // pojemnosc zb. wody i zb. mleka w mililitrach :)
  110. int Ile;
  111. Ekspres ekspres(Woda, Mleko);
  112. int opcja = -1;
  113.  
  114. do{
  115. printf("POJEMNOSC ZBIORNIKA NA WODE: %d\nILOSC WODY: %d",ekspres.WysPojW(), ekspres.WysWode());
  116. printf("\nPOJEMNOSC ZBIORNIKA NA MLEKO: %d\nILOSC MLEKA: %d", ekspres.WysPojM(), ekspres.WysMleko());
  117.  
  118. 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: ");
  119. scanf("%d", &opcja);
  120.  
  121. switch(opcja){
  122. case 1:
  123. printf("\nIle wody chcesz dodac? ");
  124. scanf("%d",&Ile);
  125. printf("\nDodales %d mililitrow wody.\n\n", ekspres.DWoda(Ile));
  126. break;
  127. case 2:
  128. printf("\nIle mleka chcesz dodac? ");
  129. scanf("%d", &Ile);
  130. printf("\nDodales %d mililitrow mleka.\n\n", ekspres.DMleko(Ile));
  131. break;
  132. case 3:
  133. if(ekspres.Biala()) printf("\nUdalo sie !\n\n");
  134. break;
  135. case 4:
  136. if(ekspres.Czarna()) printf("\nUdalo sie !\n\n");
  137. break;
  138. case 5:
  139. if(ekspres.Espresso()) printf("\nUdalo sie !\n\n");
  140. break;
  141. case 6:
  142. printf("\nKoniec !");
  143. getch();
  144. return 0;
  145. break;
  146. default:
  147. printf("\nNie ma takiej opcji !");
  148. break;
  149. }
  150. }
  151. while(opcja != 6);
  152. getch();
  153. return 0;
  154. }
Add Comment
Please, Sign In to add comment