public bool OcupaLocParcare(LocParcare loculParcare) { if (loculParcare.OcupatDeMasina == null) { if (Tip == loculParcare.TipLoc) { Console.WriteLine("Poti parca pe acest loc"); } else { Console.WriteLine($"Acest loc este de tipul: {loculParcare.TipLoc} iar masina ta este de un tip diferit {Tip}"); return(false); } Console.WriteLine($"Locul de parcare {loculParcare.LiteraRand}{loculParcare.Pozitie} este liber"); loculParcare.OcupatDeMasina = this; Console.WriteLine($"Masina {Numar} a fost parcata!"); return(true); //masina s-a parcat } else { Console.WriteLine($"Locul de parcare {loculParcare.LiteraRand}{loculParcare.Pozitie} este ocupat"); Console.WriteLine($"Nu poti parca aici!!!"); return(false); //loc ocupat si nu poti parca } }
public bool OcupaLoc(LocParcare loculDeParcare) { if (loculDeParcare.OcupatDeMasina == null) { if (Tip == loculDeParcare.TipLoc) { Console.WriteLine("Puteti parca !"); } else { Console.WriteLine($"Masina {Marca} cu nr de inmatriculare {Numar} este de tip {Tip}" + $" si nu poate fi parcata deoarece locul de parcare este de tip {loculDeParcare.TipLoc}."); return(false); } Console.WriteLine($"Locul de parcare {loculDeParcare.LiteraRand} {loculDeParcare.Pozitie} este liber."); loculDeParcare.OcupatDeMasina = this; Console.WriteLine($"Masina marca {Marca} cu nr de inmatriculare {Numar} a ocupat locul de parcare {loculDeParcare.LiteraRand} {loculDeParcare.Pozitie} ! "); return(true); } else { Console.WriteLine($"Locul de parcare {loculDeParcare.LiteraRand} {loculDeParcare.Pozitie} este ocupat, cautati alt loc de parcare !"); return(false); } }
static void Main(string[] args) { //Locurile de Parcare LocParcare PrimulLoc = new LocParcare(); PrimulLoc.CuloareArie = "Verde"; PrimulLoc.LiteraRand = "A"; PrimulLoc.Pozitie = 1; PrimulLoc.TipLoc = "Camion"; PrimulLoc.OcupatDeMasina = false; //al doilea loc de parcare LocParcare AlDoileaLoc = new LocParcare(); AlDoileaLoc.CuloareArie = "Rosu"; AlDoileaLoc.LiteraRand = "B"; AlDoileaLoc.Pozitie = 1; AlDoileaLoc.TipLoc = "Camion"; AlDoileaLoc.OcupatDeMasina = false; //Masinile Masina PrimaMasina = new Masina(); PrimaMasina.Marca = "Volvo"; PrimaMasina.Culoare = "Rosu"; PrimaMasina.Tip = "Camion"; PrimaMasina.Numar = "VN-06-JKS"; //a doua masina Masina ADouaMasina = new Masina(); ADouaMasina.Marca = "Man"; ADouaMasina.Culoare = "Alba"; ADouaMasina.Tip = "Camion"; ADouaMasina.Numar = "VN-02-GHJ"; //a treia masina Masina ATreiaMasina = new Masina(); ATreiaMasina.Marca = "Mercedes"; ATreiaMasina.Culoare = "Gri"; ATreiaMasina.Tip = "Camion"; ATreiaMasina.Numar = "VN-05-NQM"; //prima masina intra in parcare PrimaMasina.IntraInParcare(PrimaMasina.Numar); //a doua masina intra in parcare ADouaMasina.IntraInParcare(ADouaMasina.Numar); // a treia masina intra in parcare ATreiaMasina.IntraInParcare(ATreiaMasina.Numar); PrimulLoc.OcupatDeMasina = PrimaMasina.OcupaLoc(PrimaMasina.Numar, PrimaMasina.Tip, PrimulLoc.TipLoc, PrimulLoc.OcupatDeMasina, PrimulLoc.LiteraRand); AlDoileaLoc.OcupatDeMasina = ADouaMasina.OcupaLoc(ADouaMasina.Numar, ADouaMasina.Tip, AlDoileaLoc.TipLoc, AlDoileaLoc.OcupatDeMasina, AlDoileaLoc.LiteraRand); PrimulLoc.OcupatDeMasina = ATreiaMasina.OcupaLoc(ATreiaMasina.Numar, ATreiaMasina.Tip, PrimulLoc.TipLoc, PrimulLoc.OcupatDeMasina, PrimulLoc.LiteraRand); PrimulLoc.OcupatDeMasina = PrimaMasina.ElibereazaLoc(PrimaMasina.Numar, PrimulLoc.OcupatDeMasina, PrimulLoc.LiteraRand); PrimulLoc.OcupatDeMasina = ATreiaMasina.OcupaLoc(ATreiaMasina.Numar, ATreiaMasina.Tip, PrimulLoc.TipLoc, PrimulLoc.OcupatDeMasina, PrimulLoc.LiteraRand); PrimaMasina.IeseDinParcare(PrimaMasina.Numar); Console.ReadKey(); }
static void Main(string[] args) { LocParcare ioana = new LocParcare(); ioana.CuloareArie = "verde"; ioana.LiteraRand = "C"; ioana.TipLoc = "angajatFirma"; ioana.Pozitie = 21; LocParcare alexandra = new LocParcare(); alexandra.CuloareArie = "rosu"; alexandra.LiteraRand = "M"; alexandra.TipLoc = "client"; alexandra.Pozitie = 14; Masina auto1 = new Masina(); auto1.Marca = "Hyundai"; auto1.Numar = "GL-79-TOR"; auto1.Tip = "Getz"; auto1.Culoare = "alb"; Masina auto2 = new Masina(); auto2.Marca = "Nissan"; auto2.Tip = "Micra"; auto2.Numar = "B-219-COR"; auto2.Culoare = "negru"; Masina auto3 = new Masina(); auto3.Marca = "Range Rover"; auto3.Tip = "Evoque"; auto3.Numar = "VS-26-ARM"; auto3.Culoare = "albastru"; auto1.IntraInParcare(ioana.CuloareArie); Console.WriteLine($"{auto1.Marca} intra in locul de parcare {ioana.CuloareArie} cu nr {ioana.Pozitie} {ioana.LiteraRand}."); Console.ReadKey(); auto2.IntraInParcare(alexandra.CuloareArie); Console.WriteLine($"{auto2.Marca} intra in al doilea loc de parcare {alexandra.CuloareArie} cu nr {alexandra.Pozitie} {alexandra.LiteraRand}."); Console.ReadKey(); auto3.IntraInParcare(ioana.TipLoc); auto1.OcupaLoc(ioana.Pozitie); auto2.OcupaLoc(alexandra.Pozitie); auto3.OcupaLoc(ioana.Pozitie); }
static void Main(string[] args) { List <LocParcare> locuriParcare = new List <LocParcare>(); LocParcare loc1 = new LocParcare(); locuriParcare.Add(loc1); loc1.CuloareArie = "Rosu"; loc1.LiteraRand = "A"; loc1.Pozitie = 1; loc1.TipLoc = TipMasina.Autoturism; LocParcare loc2 = new LocParcare(); locuriParcare.Add(loc2); loc2.CuloareArie = "Rosu"; loc2.LiteraRand = "A"; loc2.Pozitie = 2; loc2.TipLoc = TipMasina.Autoturism; Masina dacia = new Masina() { Culoare = "Gri", Marca = "Dacia", Numar = "B123ZZZ", Tip = TipMasina.Autoturism }; dacia.IntraInParcare(); if (!dacia.OcupaLocParcare(loc1)) { if (!dacia.OcupaLocParcare(loc2)) { Console.WriteLine("Nu ai unde sa o parchezi. Parcarea este plina!"); } } Masina ford = new Masina(); ford.Marca = "Ford"; ford.Numar = "B321AAA"; ford.Tip = TipMasina.Autoturism; ford.Culoare = "Alb"; ford.IntraInParcare(); if (!ford.OcupaLocParcare(loc1)) { if (!ford.OcupaLocParcare(loc2)) { Console.WriteLine("Nu ai unde sa o parchezi. Parcarea este plina!"); } } Console.ReadKey(); }
static void Main(string[] args) { LocParcare parcela1 = new LocParcare(); parcela1.CuloareArie = "rosie"; parcela1.LiteraRand = "H"; parcela1.Pozitie = 2; parcela1.TipLoc = "Automobil"; LocParcare parcela2 = new LocParcare(); parcela2.CuloareArie = "verde"; parcela2.LiteraRand = "A"; parcela2.Pozitie = 3; parcela2.TipLoc = "Camion"; Masina masina1 = new Masina(); masina1.Numar = "DJ01ABC"; masina1.Marca = "Logan"; masina1.Tip = "Automobil"; masina1.Culoare = "alb"; Masina masina2 = new Masina(); masina2.Numar = "B02EFG"; masina2.Marca = "Scania"; masina2.Tip = "Camion"; masina2.Culoare = "neagra"; Masina masina3 = new Masina(); masina3.Numar = "AG03RPQ"; masina3.Marca = "Mercedes"; masina3.Tip = "Microbus"; masina3.Culoare = "Albastra"; masina1.IntraInParcare(); masina1.OcupaLoc(parcela1.LiteraRand, parcela1.Pozitie, parcela1.CuloareArie, parcela1.TipLoc); parcela1.OcupatDeMasina(masina1.Numar); // la debug, 'Parcare.LocParcare.OcupatDeMasina' imi returneaza false, dupa cum speram si asteptam, dar nu stiu sa ma folosesc de o entitate de tipul asta. // as fi vrut sa trec fiecare parcela intr-un status de fals, de fiecare data cand se apeleaza functia OcupatDeMasina in contextul fiecarei parcele // ca apoi sa verific cumva status-ul cand vreau sa parchez tot acolo. Daca e true, sa ruleze mai departe, sa parcheze(si sa o treaca in status de false)...iar daca e deja false sa afisez un mesaj. // sa pun totul intr-un while status == true, eventual. masina2.IntraInParcare(); masina2.OcupaLoc(parcela2.LiteraRand, parcela2.Pozitie, parcela2.CuloareArie, parcela2.TipLoc); parcela1.OcupatDeMasina(masina2.Numar); Console.ReadKey(); }
public bool ElibereazaLoc(LocParcare loculDeParcare) { if (loculDeParcare.OcupatDeMasina != null) { Console.WriteLine($"S-a eliberat locul de parcare {loculDeParcare.LiteraRand} {loculDeParcare.Pozitie}."); loculDeParcare.OcupatDeMasina = null; return(true); } else { Console.WriteLine($"{loculDeParcare.LiteraRand} {loculDeParcare.Pozitie} este liber si se poate parca pe el !"); return(false); } }
static void Main(string[] args) { List <LocParcare> locuriParcare = new List <LocParcare>(); LocParcare primulLocDeParcare = new LocParcare(); locuriParcare.Add(primulLocDeParcare); primulLocDeParcare.CuloareArie = "alb"; primulLocDeParcare.LiteraRand = "A"; primulLocDeParcare.Pozitie = 1; primulLocDeParcare.TipLoc = TipMasina.Automobil; LocParcare alDoileaLocDeParcare = new LocParcare(); locuriParcare.Add(alDoileaLocDeParcare); alDoileaLocDeParcare.CuloareArie = "rosu"; alDoileaLocDeParcare.LiteraRand = "B"; alDoileaLocDeParcare.Pozitie = 1; alDoileaLocDeParcare.TipLoc = TipMasina.Camion; Masina dacia = new Masina(); dacia.Marca = "Dacia"; dacia.Culoare = "Gri"; dacia.Tip = TipMasina.Automobil; dacia.Numar = "AG11GEY"; Masina mercedes = new Masina(); mercedes.Marca = "Mercedes"; mercedes.Culoare = "Albastru"; mercedes.Tip = TipMasina.Automobil; mercedes.Numar = "B250SIE"; Masina ford = new Masina(); ford.Marca = "Ford"; ford.Culoare = "Negru"; ford.Tip = TipMasina.Automobil; ford.Numar = "B50POL"; Masina Audi = new Masina(); Audi.Marca = "Audi"; Audi.Culoare = "Alb"; Audi.Tip = TipMasina.Camion; Audi.Numar = "VN20TED"; dacia.IntraInParcare(); if (dacia.OcupaLoc(primulLocDeParcare)) { } else if (dacia.OcupaLoc(alDoileaLocDeParcare)) { } else { Console.WriteLine($"Parcarea de tip {TipMasina.Automobil} este plina! Autovehiculul marca {dacia.Marca} nu a putut fi parcata."); } mercedes.IntraInParcare(); if (mercedes.OcupaLoc(primulLocDeParcare)) { } else if (mercedes.OcupaLoc(alDoileaLocDeParcare)) { } else { Console.WriteLine($"Parcarea de tip {TipMasina.Automobil} este plina! Autovehiculul marca {mercedes.Marca} nu a putut fi parcata."); } Audi.IntraInParcare(); if (Audi.OcupaLoc(primulLocDeParcare)) { } else if (Audi.OcupaLoc(alDoileaLocDeParcare)) { } else { Console.WriteLine($"Parcarea de tip {TipMasina.Camion} este plina! Autovehiculul marca {Audi.Marca} nu a putut fi parcata."); } ford.IntraInParcare(); if (ford.OcupaLoc(primulLocDeParcare)) { } else if (ford.OcupaLoc(alDoileaLocDeParcare)) { } else { Console.WriteLine($"Parcarea de tip {TipMasina.Automobil} este plina! Autovehiculul marca {ford.Marca} nu a putut fi parcata."); } dacia.ElibereazaLoc(primulLocDeParcare); dacia.IesireDinParcare(); ford.IntraInParcare(); if (ford.OcupaLoc(primulLocDeParcare)) { } else if (ford.OcupaLoc(alDoileaLocDeParcare)) { } else { Console.WriteLine($"Parcarea de tip {TipMasina.Automobil} este plina! Autovehiculul marca {ford.Marca} nu a putut fi parcata."); } Console.ReadKey(); }