Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <conio.h>
- #include "CSamolot.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- char x;
- int iPasazer = 0;
- double dPaliwo = 0.0;
- CSamolot S1(13825, 24500, 5000, 180);
- while(1)
- {
- system("CLS");
- S1.PokazSamolot();
- std::cout << "\nCo chcesz zrobic:\n"
- << " 1. Zmien liczbe pasazerow\n"
- << " 2. Zmien ilosc paliwa\n"
- << " 3. Zakoncz program\n";
- x = _getch();
- switch(x)
- {
- case '1':
- std::cout << "Podaj liczbe pasazerow do dodania (lub poprzedz znakiem '-' aby odjac: ";
- std::cin >> iPasazer;
- S1.SetIloscPasazerow(iPasazer);
- while(S1.GetMasaCalkowita() > S1.GetMasaMax())
- {
- if(S1.GetIloscPaliwa() != 0)
- {
- while(S1.GetMasaCalkowita() > S1.GetMasaMax())
- {
- if(S1.GetIloscPaliwa() == 0) break;
- S1.SetIloscPaliwa(-1);;
- }
- }
- else
- {
- while(S1.GetMasaCalkowita() > S1.GetMasaMax())
- {
- if(S1.GetIloscPasazerow() == 0) break;
- S1.SetIloscPasazerow(-1);
- }
- }
- }
- break;
- case '2':
- std::cout << "Podaj liczbe litrow ktore chcesz dolac (lub poprzedz znakiem '-' aby spuscic: ";
- std::cin >> dPaliwo;
- S1.SetIloscPaliwa(dPaliwo);
- while(S1.GetMasaCalkowita() > S1.GetMasaMax())
- {
- if(S1.GetIloscPasazerow() != 0)
- {
- while(S1.GetMasaCalkowita() > S1.GetMasaMax())
- {
- if(S1.GetIloscPasazerow() == 0) break;
- S1.SetIloscPasazerow(-1);
- }
- }
- else
- {
- while(S1.GetMasaCalkowita() > S1.GetMasaMax())
- {
- if(S1.GetIloscPaliwa() == 0) break;
- S1.SetIloscPaliwa(-1);
- }
- }
- }
- break;
- case '3':
- return 0;
- }
- }
- }
- CSamolot.cpp
- #include "CSamolot.h"
- #include <iostream>
- #define PASAZER 80 //[kg]
- #define LITR 0.5 //[kg]
- CSamolot::CSamolot():
- _masaWlasna(0),
- _masaMax(0),
- _iloscPaliwa(0),
- _iloscPaliwaMax(0),
- _iloscPasazerow(0),
- _iloscPasazerowMax(0)
- {};
- CSamolot::CSamolot(double MasaWlasna, double MasaMax, double IloscPaliwaMax, int IloscPasazerowMax):
- _masaWlasna(MasaWlasna),
- _masaMax(MasaMax),
- _iloscPaliwa(0),
- _iloscPaliwaMax(IloscPaliwaMax),
- _iloscPasazerow(0),
- _iloscPasazerowMax(IloscPasazerowMax)
- {};
- double CSamolot::GetMasaCalkowita()
- {
- return _masaWlasna + _iloscPasazerow*PASAZER + _iloscPaliwa*LITR;
- }
- void CSamolot::SetIloscPaliwa(double Paliwo)
- {
- if((Paliwo + _iloscPaliwa) > _iloscPaliwaMax) _iloscPaliwa = _iloscPaliwaMax;
- else if((Paliwo + _iloscPaliwa) < 0) _iloscPaliwa = 0;
- else _iloscPaliwa += Paliwo;
- }
- void CSamolot::SetIloscPasazerow(int Pasazerowie)
- {
- if((Pasazerowie + _iloscPasazerow) > _iloscPasazerowMax) _iloscPasazerow = _iloscPasazerowMax;
- else if((Pasazerowie + _iloscPasazerow) < 0) _iloscPasazerow = 0;
- else _iloscPasazerow += Pasazerowie;
- }
- void CSamolot::PokazSamolot()
- {
- std::cout << "Parametry samolotu: \n"
- << " Masa wlasna samolotu: " << _masaWlasna << " [kg]\n"
- << " Maksymalny udzwig: " << _masaMax << " [kg]\n"
- << " Pojemnosc zbiornikow: " << _iloscPaliwaMax << " [l]\n"
- << " Ilosc foteli: " << _iloscPasazerowMax << " [szt.]\n"
- << "\nParametry aktualne: \n"
- << " Ilosc Paliwa: " << _iloscPaliwa << " [l]\n"
- << " Liczba Pasazerow: " << _iloscPasazerow << " [szt.]\n"
- << " Calkowita waga: " << GetMasaCalkowita() << " [kg]\n";
- }
- CSamolot.h
- #ifndef C_CSamolot_h
- #define C_CSamolot_h
- class CSamolot
- {
- double _masaWlasna;
- double _masaMax;
- double _iloscPaliwa;
- double _iloscPaliwaMax;
- int _iloscPasazerow;
- int _iloscPasazerowMax;
- public:
- CSamolot();
- CSamolot(double MasaWlasna, double MasaMax, double IloscPaliwaMax, int IloscPasazerowMax);
- double GetMasaWlasna() const { return _masaWlasna; }
- double GetMasaMax() const { return _masaMax; }
- double GetIloscPaliwa() const { return _iloscPaliwa; }
- double GetIloscPaliwaMax() const { return _iloscPaliwaMax; }
- int GetIloscPasazerow() const { return _iloscPasazerow; }
- int GetIloscPasazerowMax() const { return _iloscPasazerowMax; }
- void SetIloscPaliwa(double Paliwo);
- void SetIloscPasazerow(int Pasazerowie);
- double GetMasaCalkowita();
- void PokazSamolot();
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement