Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 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;
- }
Advertisement