Hyluss

Turbina konstruktor parametryczny struktury klasy funkcje

Jul 2nd, 2016
508
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.77 KB | None | 0 0
  1. #include "stdafx.h"
  2.  
  3. struct turbina {
  4.     float Moc;
  5.     float Procent;
  6. };
  7.  
  8. class elektrownia {
  9.     turbina Turbina[4];
  10.     float MocZadana;
  11. public
  12.     //konstruktor
  13.     :elektrownia(float Moc1, float Moc2, float Moc3, float Moc4);
  14.  
  15.    
  16.     //wartosci do odczytywania
  17.     float MocMax(void);
  18.     float MocAktualna();
  19.  
  20.     float MocAktualnaTurbiny(char Nr);
  21.  
  22.    
  23.     //wartosci do ustawiania
  24.     void UstawMocDlaTurbiny(char Nr, float Procent);
  25.     void UstawMocCalkowita(float Moc);
  26. };
  27.  
  28. //inicjalizuje clase i ustawia moce turbin
  29. elektrownia::elektrownia(float Moc1, float Moc2, float Moc3, float Moc4)
  30. {
  31.     char i = 4;
  32.     while (i--) Turbina[i].Procent = 0;
  33.    
  34.     Turbina[0].Moc = Moc1;
  35.     Turbina[1].Moc = Moc2;
  36.     Turbina[2].Moc = Moc3;
  37.     Turbina[3].Moc = Moc4;
  38.  
  39.     MocZadana = 0;
  40. };
  41.  
  42. //zwraca max moc elektrowni
  43. float elektrownia::MocMax(void)
  44. {
  45.     float Suma = 0;
  46.     char i = 4;
  47.  
  48.     while (i--) Suma += Turbina[i].Moc;
  49.  
  50.     return Suma;
  51. }
  52.  
  53. //zwraca aktualna moc elektrowni
  54. float elektrownia::MocAktualna()
  55. {
  56.     float Suma = 0;
  57.     char i = 4;
  58.  
  59.     while (i--) Suma += Turbina[i].Moc * Turbina[i].Procent;
  60.  
  61.     return Suma;
  62. }
  63.  
  64. float elektrownia::MocAktualnaTurbiny (char Nr)
  65. {
  66.    
  67.     return Turbina[Nr].Moc * Turbina[Nr].Procent;
  68. }
  69.  
  70. //steruje jedna turbina
  71. void elektrownia::UstawMocDlaTurbiny(char Nr, float Procent)
  72. {
  73.     Turbina[Nr].Procent = Procent; 
  74. }
  75.  
  76. //steruja wszystkimi turbinami
  77. void elektrownia::UstawMocCalkowita(float Moc)
  78. {
  79.     char i = 0;
  80.  
  81.     while (i < 4)
  82.     {
  83.         if (Moc >= Turbina[i].Moc)
  84.         {
  85.             Turbina[i].Procent = 100;
  86.             Moc -= Turbina[i].Moc;
  87.         }
  88.         else
  89.         {
  90.             Turbina[i].Procent = Moc * 100 / Turbina[i].Moc;
  91.             return;
  92.         }
  93.         i++;
  94.     }
  95. }  
  96.  
  97. int _tmain(int argc, _TCHAR* argv[])
  98. {
  99.     elektrownia Elektrownia(10, 20, 30, 40);
  100.  
  101.  
  102.  
  103.     Elektrownia.UstawMocCalkowita(50);
  104.  
  105.  
  106.     return 0;
  107. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment