// 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
0 B
|👍
/👎