Hyluss icon

Turbina konstruktor parametryczny struktury klasy funkcje

Hyluss | PRO | 07/02/16 06:01:29 PM UTC | 0 ⭐ | 474 👁️ | Never ⏰ | []
C |

1.77 KB

|

None

|

0 👍

/

0 👎

#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;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎