Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- struct turbina {
- float Moc;
- float Procent;
- };
- class elektrownia {
- turbina Turbina[4];
- float MocZadana;
- public
- //konstruktor
- :elektrownia(float Moc1, float Moc2, float Moc3, float Moc4);
- //wartosci do odczytywania
- float MocMax(void);
- float MocAktualna();
- float MocAktualnaTurbiny(char Nr);
- //wartosci do ustawiania
- void UstawMocDlaTurbiny(char Nr, float Procent);
- void UstawMocCalkowita(float Moc);
- };
- //inicjalizuje clase i ustawia moce turbin
- elektrownia::elektrownia(float Moc1, float Moc2, float Moc3, float Moc4)
- {
- char i = 4;
- while (i--) Turbina[i].Procent = 0;
- Turbina[0].Moc = Moc1;
- Turbina[1].Moc = Moc2;
- Turbina[2].Moc = Moc3;
- Turbina[3].Moc = Moc4;
- MocZadana = 0;
- };
- //zwraca max moc elektrowni
- float elektrownia::MocMax(void)
- {
- float Suma = 0;
- char i = 4;
- while (i--) Suma += Turbina[i].Moc;
- return Suma;
- }
- //zwraca aktualna moc elektrowni
- float elektrownia::MocAktualna()
- {
- float Suma = 0;
- char i = 4;
- while (i--) Suma += Turbina[i].Moc * Turbina[i].Procent;
- return Suma;
- }
- float elektrownia::MocAktualnaTurbiny (char Nr)
- {
- return Turbina[Nr].Moc * Turbina[Nr].Procent;
- }
- //steruje jedna turbina
- void elektrownia::UstawMocDlaTurbiny(char Nr, float Procent)
- {
- Turbina[Nr].Procent = Procent;
- }
- //steruja wszystkimi turbinami
- void elektrownia::UstawMocCalkowita(float Moc)
- {
- char i = 0;
- while (i < 4)
- {
- if (Moc >= Turbina[i].Moc)
- {
- Turbina[i].Procent = 100;
- Moc -= Turbina[i].Moc;
- }
- else
- {
- Turbina[i].Procent = Moc * 100 / Turbina[i].Moc;
- return;
- }
- i++;
- }
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- elektrownia Elektrownia(10, 20, 30, 40);
- Elektrownia.UstawMocCalkowita(50);
- return 0;
- }
Advertisement