Hyluss icon

Hermetyzacja

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

2.79 KB

|

None

|

0 👍

/

0 👎

// Hermetyzacja (funckje public, zmienne private) + troche rozbudowany main
 
#include <stdio.h>
#include <conio.h>
 
class Elektrownia {
float turbina1, turbina2, turbina3, turbina4;
float MocMax;
 
public:
Elektrownia();
void Wyswietl();
void WpuscWode(int nr, float otworz);
void Auto(float moc);
 
 
};
 
Elektrownia::Elektrownia():
turbina1 (100), turbina2 (100), turbina3 (100), turbina4 (100), MocMax (0) {}
 
void Elektrownia::Wyswietl()
{
    printf ("stan elektrowni:\n");
    printf ("Turbina1 jest w %.2f %% zamknieta\n",turbina1);
    printf ("Turbina2 jest w %.2f %% zamknieta\n",turbina2);
    printf ("Turbina3 jest w %.2f %% zamknieta\n",turbina3);
    printf ("Turbina4 jest w %.2f %% zamknieta\n",turbina4);
    printf ("Wydzielana Moc Maksymalna jest rowna %.2f %% \n",MocMax);
}
 
void Elektrownia::WpuscWode(int nr, float otworz)
{
 
if (nr == 1) {
turbina1 = (turbina1) - (otworz);
if (turbina1<0) turbina1 = 0;
MocMax = (MocMax) + (0.25) * (otworz);
}
 
if (nr == 2) {
turbina2 = (turbina2) - (otworz);
if (turbina2<0) turbina2 = 0;
MocMax = (MocMax) + (0.25) * (otworz);
}
 
if (nr == 3) {
turbina3 = (turbina3) - (otworz);
if (turbina3<0) turbina3 = 0;
MocMax = (MocMax) + (0.25) * (otworz);
}
 
if (nr == 4) {
turbina4 = (turbina4) - (otworz);
if (turbina4<0) turbina4 = 0;
MocMax = (MocMax) + (0.25) * (otworz);
}
 
}
 
 
void Elektrownia::Auto (float moc) 
{
int z;
MocMax = moc;
 
 
if ((moc)>0  && (moc)<=25) 
{
    turbina1 = 100 - (moc)*4;
}
if ((moc)>25 && (moc)<=50) 
{
    moc = (moc)-25;
   turbina2 = 100 - (moc)*4  ; turbina1 = 0;
}
if ((moc)>50 && (moc)<=75)
{
    moc = (moc)-50;
    turbina3 = 100 - (moc)*4 ; turbina1 = 0; turbina2 = 0;
}
if ((moc)>75 && (moc)<=100)
{
    moc = (moc)-75;
    turbina4 =  100 - (moc)*4 ; turbina1 = 0; turbina2 = 0; turbina3 = 0;
}
    
}
 
int main()
{
Elektrownia elektrownia;
 
int wybor, nr;
float otworz;
float moc;
 
    do{
        
 
        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");
        scanf("%d", &wybor);
 
        switch(wybor)
        {
        case 1:
            elektrownia.Wyswietl();
            break;
        
        case 2:
            {
            do {
            printf ("podaj numer turbiny \n");
            scanf ("%d",&nr);
            } while (nr!=1 && nr!=2 && nr!=3 && nr!=4);
            printf ("o ile %% chcesz otworzyc zawor? \n");
            scanf ("%f",&otworz);
            elektrownia.WpuscWode(nr, otworz);
            break;
            }
        case 3:
        {
        
            printf ("podaj moc w zakresie od 0 do 100\n");
            printf ("podaj jaka moc w %% chcesz uzyskac\n");
            scanf ("%f",&moc);
            
            elektrownia.Auto (moc);
            
            break;
        }
        case 4:
        {
            printf("Koniec!");
            getch();
            return 0;
            break;  
        }
        default: 
            printf("\nNie ma takiej opcji!");   
        }
     }while(wybor !=4);
 
return 0;
}

Comments

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

    0 B

    |

    👍

    /

    👎