Sari la conținut
Zece la Info
Probleme

Sistemul Garaj (Masina + Client + Garaj)

Grea 2000 ms 64 MB#oop#clasa#sistem#compunere

Scrieti TREI clase:

  1. Masina - numarInmatriculare (fara spatii), marca (fara spatii):
  • constructor(numarInmatriculare, marca); getNumarInmatriculare(); getMarca()
  1. Client - nume (fara spatii):
  • constructor(nume); getNume()
  1. Garaj - orchestreaza colectiile de masini si clienti, plus asocierea proprietar-masina:
  • constructor fara parametri
  • adaugaMasina(numarInmatriculare, marca) - returneaza id-ul masinii (0,1,2,...)
  • adaugaClient(nume) - returneaza id-ul clientului (0,1,2,...)
  • asociazaProprietar(idMasina, idClient) - daca id-urile sunt valide, seteaza (sau INLOCUIESTE) proprietarul masinii cu idClient si returneaza adevarat; altfel returneaza fals
  • proprietarMasina(idMasina) - returneaza numele clientului proprietar, sau "-" daca masina nu are proprietar sau id-ul e invalid
  • numarMasiniClient(idClient) - returneaza cate masini detine curent acel client
Date de intrare
Codul vostru este integrat intr-un program de test care citeste comenzi si apeleaza metodele voastre.
Date de iesire
Fiecare comanda produce o linie de output.
Restrictii
Cel mult 50 de masini si 50 de clienti intr-un test. Testele includ si id-uri invalide.

Exemple

Exemplul 1

Intrare

4
ADDMASINA B123ABC Dacia
ADDCLIENT Popescu
ASOCIAZA 0 0
PROPRIETAR 0

Iesire

0
0
1
Popescu

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.