Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // POJAZD.CPP
- #include <iostream>
- #include "Pojazd.h"
- Pojazd::Pojazd(double _bak, double _start)
- : pojemnoscBaku(_bak)
- {
- if (_start < pojemnoscBaku) {
- bak = _start;
- }
- else {
- bak = pojemnoscBaku;
- }
- if (_start <= 0) {
- bak = 0;
- }
- else {
- bak = _start;
- }
- }
- double Pojazd::tankuj(double _ile)
- {
- double daSieNalac = pojemnoscBaku - bak;
- if (_ile > daSieNalac) {
- bak = pojemnoscBaku;
- return daSieNalac;
- }
- else {
- bak += _ile;
- return _ile;
- }
- }
- //POJAZD.H
- #pragma once
- #include <iostream>
- class Pojazd {
- protected:
- const double pojemnoscBaku; // [l]
- double bak; // stan baku [l]
- public:
- Pojazd(double _bak, double _start);
- double stanBaku() const { return bak; }
- double tankuj(double _ile);
- };
- //CIEZAROWY.CPP
- #include "Ciezarowy.h"
- Ciezarowy::Ciezarowy(double _bak, double _min, double _tona, double _start)
- : Pojazd(_bak, _start)
- , spalanieMin(_min)
- , spalanieNaTone(_tona)
- {
- if (_start < pojemnoscBaku) {
- bak = _start;
- }
- else {
- bak = pojemnoscBaku;
- }
- if (_start <= 0) {
- bak = 0;
- }
- else {
- bak = _start;
- }
- }
- bool Ciezarowy::jedz(double _dystans, double _obciazenie)
- {
- double spalanie = spalanieMin + spalanieNaTone * _obciazenie;
- double zuzycie = _dystans * spalanie / 100.0;
- if (zuzycie > bak) {
- std::cout << "Za malo paliwa by przejechac odcinek!"
- << " Potrzeba " << zuzycie << "l, dostepne " << bak << "l." << std::endl;
- return false;
- }
- else {
- std::cout << "Zuzyto " << zuzycie << " l paliwa." << std::endl;
- bak -= zuzycie;
- return true;
- }
- }
- //OSOBOWY.CPP
- #include "Osobowy.h"
- Osobowy::Osobowy(double _bak, double _eko, double _max, double _start)
- : spalanieEko(_eko)
- , spalanieMax(_max)
- , Pojazd(_bak, _start)
- {
- if (_start < pojemnoscBaku) {
- bak = _start;
- }
- else {
- bak = pojemnoscBaku;
- }
- if (_start <= 0) {
- bak = 0;
- }
- else {
- bak = _start;
- }
- }
- bool Osobowy::jedz(double _dystans, bool _szybko)
- {
- double zuzycie;
- if (_szybko) zuzycie = _dystans * spalanieMax / 100.0;
- else zuzycie = _dystans * spalanieEko / 100.0;
- if (zuzycie > bak) {
- std::cout << "Za malo paliwa by przejechac odcinek!"
- << " Potrzeba " << zuzycie << "l, dostepne " << bak << "l." << std::endl;
- return false;
- }
- else {
- std::cout << "Zuzyto " << zuzycie << " l paliwa." << std::endl;
- bak -= zuzycie;
- return true;
- }
- }
- //OSOBOWY.H
- #pragma once
- #pragma once
- #include <iostream>
- #include "Pojazd.h"
- class Osobowy : public Pojazd
- {
- private:
- const double spalanieEko; // [l/100km]
- const double spalanieMax; // [l/100km]
- public:
- Osobowy(double _bak, double _eko, double _max, double _start);
- bool jedz(double _dystans, bool _szybko = false);
- };
- //Ciezarowy.h
- #pragma once
- #pragma once
- #include "Pojazd.h"
- #include <iostream>
- class Ciezarowy: public Pojazd
- {
- private:
- const double spalanieMin; // [l/100km]
- const double spalanieNaTone; // [l/100km/tona]
- public:
- Ciezarowy(double _bak, double _min, double _tona, double _start);
- //double tankuj(double _ile);
- bool jedz(double _dystans, double _obciazenie = 0.0);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement