Hyluss

Hermetyzacja

Jul 2nd, 2016
505
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.79 KB | None | 0 0
  1. // Hermetyzacja (funckje public, zmienne private) + troche rozbudowany main
  2.  
  3. #include <stdio.h>
  4. #include <conio.h>
  5.  
  6. class Elektrownia {
  7. float turbina1, turbina2, turbina3, turbina4;
  8. float MocMax;
  9.  
  10. public:
  11. Elektrownia();
  12. void Wyswietl();
  13. void WpuscWode(int nr, float otworz);
  14. void Auto(float moc);
  15.  
  16.  
  17. };
  18.  
  19. Elektrownia::Elektrownia():
  20. turbina1 (100), turbina2 (100), turbina3 (100), turbina4 (100), MocMax (0) {}
  21.  
  22. void Elektrownia::Wyswietl()
  23. {
  24.     printf ("stan elektrowni:\n");
  25.     printf ("Turbina1 jest w %.2f %% zamknieta\n",turbina1);
  26.     printf ("Turbina2 jest w %.2f %% zamknieta\n",turbina2);
  27.     printf ("Turbina3 jest w %.2f %% zamknieta\n",turbina3);
  28.     printf ("Turbina4 jest w %.2f %% zamknieta\n",turbina4);
  29.     printf ("Wydzielana Moc Maksymalna jest rowna %.2f %% \n",MocMax);
  30. }
  31.  
  32. void Elektrownia::WpuscWode(int nr, float otworz)
  33. {
  34.  
  35. if (nr == 1) {
  36. turbina1 = (turbina1) - (otworz);
  37. if (turbina1<0) turbina1 = 0;
  38. MocMax = (MocMax) + (0.25) * (otworz);
  39. }
  40.  
  41. if (nr == 2) {
  42. turbina2 = (turbina2) - (otworz);
  43. if (turbina2<0) turbina2 = 0;
  44. MocMax = (MocMax) + (0.25) * (otworz);
  45. }
  46.  
  47. if (nr == 3) {
  48. turbina3 = (turbina3) - (otworz);
  49. if (turbina3<0) turbina3 = 0;
  50. MocMax = (MocMax) + (0.25) * (otworz);
  51. }
  52.  
  53. if (nr == 4) {
  54. turbina4 = (turbina4) - (otworz);
  55. if (turbina4<0) turbina4 = 0;
  56. MocMax = (MocMax) + (0.25) * (otworz);
  57. }
  58.  
  59. }
  60.  
  61.  
  62. void Elektrownia::Auto (float moc)
  63. {
  64. int z;
  65. MocMax = moc;
  66.  
  67.  
  68. if ((moc)>0  && (moc)<=25)
  69. {
  70.     turbina1 = 100 - (moc)*4;
  71. }
  72. if ((moc)>25 && (moc)<=50)
  73. {
  74.     moc = (moc)-25;
  75.    turbina2 = 100 - (moc)*4  ; turbina1 = 0;
  76. }
  77. if ((moc)>50 && (moc)<=75)
  78. {
  79.     moc = (moc)-50;
  80.     turbina3 = 100 - (moc)*4 ; turbina1 = 0; turbina2 = 0;
  81. }
  82. if ((moc)>75 && (moc)<=100)
  83. {
  84.     moc = (moc)-75;
  85.     turbina4 =  100 - (moc)*4 ; turbina1 = 0; turbina2 = 0; turbina3 = 0;
  86. }
  87.    
  88. }
  89.  
  90. int main()
  91. {
  92. Elektrownia elektrownia;
  93.  
  94. int wybor, nr;
  95. float otworz;
  96. float moc;
  97.  
  98.     do{
  99.        
  100.  
  101.         printf("\n\nMenu\n[1] - Wyswietl stan elektrowni \n[2] - Wpusc wode do turbiny \n[3] - Ustaw automatycznie zeby otrzymac wybrana Moc \n[4] - Koniec\n");
  102.         scanf("%d", &wybor);
  103.  
  104.         switch(wybor)
  105.         {
  106.         case 1:
  107.             elektrownia.Wyswietl();
  108.             break;
  109.        
  110.         case 2:
  111.             {
  112.             do {
  113.             printf ("podaj numer turbiny \n");
  114.             scanf ("%d",&nr);
  115.             } while (nr!=1 && nr!=2 && nr!=3 && nr!=4);
  116.             printf ("o ile %% chcesz otworzyc zawor? \n");
  117.             scanf ("%f",&otworz);
  118.             elektrownia.WpuscWode(nr, otworz);
  119.             break;
  120.             }
  121.         case 3:
  122.         {
  123.        
  124.             printf ("podaj moc w zakresie od 0 do 100\n");
  125.             printf ("podaj jaka moc w %% chcesz uzyskac\n");
  126.             scanf ("%f",&moc);
  127.            
  128.             elektrownia.Auto (moc);
  129.            
  130.             break;
  131.         }
  132.         case 4:
  133.         {
  134.             printf("Koniec!");
  135.             getch();
  136.             return 0;
  137.             break; 
  138.         }
  139.         default:
  140.             printf("\nNie ma takiej opcji!");  
  141.         }
  142.      }while(wybor !=4);
  143.  
  144. return 0;
  145. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment