Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.7 kB
2
Indexable
Never
enum class KatPJ { A, B, C, D };

class Kierowca
{
private:
	int m_staz;
	KatPJ m_uprawnienie;
public:
	void setUprawnienie(KatPJ i_upr) { m_uprawnienie = i_upr; }
	KatPJ getUprawnienie() { return m_uprawnienie; }
	int getStaz() { return m_staz; }
	void zwiekszStaz() { m_staz++; }
};

class Motor
{
private:
	double m_predkosc;
	char m_numerRej[9];
public:
	void setPredkosc(double i_pred) { m_predkosc = (i_pred > 260) ? i_pred : 260; }
	void setNumerRej(const char* i_num) { strncpy(m_numerRej, i_num, 8); }
	const char* getNumerRej() { return m_numerRej; }
	double getPredkosc() { return m_predkosc; }
};

class Wypozyczenie {
private:
	Kierowca* kierowca = nullptr;
	Motor* motor = nullptr;
public:
	Wypozyczenie(Kierowca* k, Motor* m);
	void zmienKierowce(Kierowca* k);
	void zmienMotor(Motor* m);
	bool sprawdz();
	int stazKierowcy();
	const char* getNumery();
	~Wypozyczenie();
};

Wypozyczenie::Wypozyczenie(Kierowca* k, Motor* m) {		//Kiedy kierowca nie ma A nie przypisuj motora ani kierowcy
	if (k->getUprawnienie() == KatPJ::A) {
		motor = m;
		kierowca = k;
	}
}

void Wypozyczenie::zmienKierowce(Kierowca* k) {		//Kiedy kierowca nie ma A nie zmieniaj kierowcy
	if (k->getUprawnienie() == KatPJ::A)
		kierowca = k;
}

void Wypozyczenie::zmienMotor(Motor* m) {
	motor = m;
}

bool Wypozyczenie::sprawdz() {
	if (kierowca->getUprawnienie() != KatPJ::A) {
		kierowca = nullptr;
		return false;
	}
	return true;
}

int Wypozyczenie::stazKierowcy() {
	return kierowca->getStaz();
}

const char* Wypozyczenie::getNumery() {
	return motor->getNumerRej();
}

Wypozyczenie::~Wypozyczenie() {
	kierowca = nullptr;
	motor = nullptr;
}

int main()
{
	
}