static void Main(string[] args) { Carte book1 = new Carte("Solaris", "Stanislaw Lem"); book1.SeUzeaza(); book1.SeUzeaza(); book1.SeUzeaza(); CarteImprumutabila book2 = new CarteImprumutabila("Solaris2", "Stanislaw Lem2"); book2.SeUzeaza(); CarteNeimprumutabila book3 = new CarteNeimprumutabila("Solaris3", "Stanislaw Lem3"); book3.SeUzeaza(); Bibliotecar bibliotecar1 = new Bibliotecar(); bibliotecar1.Nume = "Marius"; CititorSimplu cititors1 = new CititorSimplu(); cititors1.Nume = "Marcel"; Console.ReadKey(); }
private static void InBiblioteca(Cititor Cititor, Bibliotecar Bibliotecar, List <CarteImprumutabila> listaCartiImprumutabile, List <CarteNeimprumutabila> listaCartiNeimprumutabile) { Console.WriteLine($"Selectati operatiunea dorita:"); Console.WriteLine($"1.Creeaza Abonament Simplu."); Console.WriteLine($"2.Creeaza Abonament VIP."); Console.WriteLine($"3.Schimba Abonament."); Console.WriteLine($"4.Inchide Abonament."); Console.WriteLine($"5.Imprumuta o carte."); Console.WriteLine($"6.Citeste in Biblioteca o Carte."); ConsoleKeyInfo tastaApasata = Console.ReadKey(); switch (tastaApasata.Key) { case ConsoleKey.D1: Bibliotecar.AbonamentSimplu(Cititor); break; case ConsoleKey.D2: Bibliotecar.AbonamentVIP(Cititor); break; case ConsoleKey.D3: Bibliotecar.SchimbaAbonament(Cititor); break; case ConsoleKey.D4: Bibliotecar.InchideAbonament(Cititor); break; case ConsoleKey.D5: CerereImprumut(Cititor, Bibliotecar, listaCartiImprumutabile, listaCartiNeimprumutabile); break; case ConsoleKey.D6: CerereCarteInBiblioteca(Cititor, Bibliotecar, listaCartiImprumutabile, listaCartiNeimprumutabile); break; } Console.WriteLine(); Console.WriteLine("Doriti o noua operatiune? Y/N"); Console.WriteLine(); ConsoleKeyInfo keyInfo = Console.ReadKey(); if (keyInfo.Key == ConsoleKey.Y) { Console.WriteLine(); InBiblioteca(Cititor, Bibliotecar, listaCartiImprumutabile, listaCartiNeimprumutabile); } else { Console.WriteLine($"Sa aveti o zi buna!Va mai asteptam pe la noi."); } }
private static void CerereCarteInBiblioteca(Cititor Cititor, Bibliotecar Bibliotecar, List <CarteImprumutabila> listaCartiImprumutabile, List <CarteNeimprumutabila> listaCartiNeimprumutabile) { if (Cititor.Abonament == null) { Console.WriteLine("Nu aveti niciun abonament pe numele dvs."); InBiblioteca(Cititor, Bibliotecar, listaCartiImprumutabile, listaCartiNeimprumutabile); } else if (Cititor.Abonament.TipAbonament == TipAbonament.AbonamentSimplu) { Console.WriteLine("Din pacate abonamentul dvs este unul simplu .Va sugeram sa vi-l schimbati intr-unul de tip VIP pentru a avea acces la toate cartile."); InBiblioteca(Cititor, Bibliotecar, listaCartiImprumutabile, listaCartiNeimprumutabile); } else { Console.WriteLine($"Aveti de ales intre urmatoarele carti."); for (int i = 0; i < listaCartiNeimprumutabile.Count; i++) { Console.WriteLine($"{i + 1}. {listaCartiNeimprumutabile[i].Titlu} - Mai avem disponibile {listaCartiNeimprumutabile[i].NrExemplare} exemplare."); } Console.WriteLine($"Tastati cifra corespunzatoare cartii dorite."); //ConsoleKeyInfo CarteAleasa = Console.ReadKey(); string CarteAleasaStr = Console.ReadLine(); int CarteAleasaInt; if (int.TryParse(CarteAleasaStr, out CarteAleasaInt)) { if ((CarteAleasaInt < 1) || (CarteAleasaInt > listaCartiNeimprumutabile.Count)) { Console.WriteLine($"Cifra aleasa nu corespunde niciunei carti din lista."); return; } else if (listaCartiNeimprumutabile[CarteAleasaInt - 1].NrExemplare == 0) { Console.WriteLine($"Din pacate, nu mai avem niciun exemplar disponibil."); ConsoleKeyInfo keyInfo = Console.ReadKey(); if (keyInfo.Key == ConsoleKey.Y) { Console.WriteLine(); InBiblioteca(Cititor, Bibliotecar, listaCartiImprumutabile, listaCartiNeimprumutabile); } else { Console.WriteLine($"Sa aveti o zi buna!Va mai asteptam pe la noi."); return; } } else { Cititor.CitesteCarteSalaLectura(listaCartiNeimprumutabile[CarteAleasaInt - 1]); } } } }
static void Main(string[] args) { Cititor Anastasia = new Cititor("Anastasia"); Bibliotecar AncaBibliotecara = new Bibliotecar("Anca"); CarteImprumutabila MonteCristo = new CarteImprumutabila("Contele de Monte Cristo", "Alexandre Dumas", 5); CarteImprumutabila CrimaSiPedeapsa = new CarteImprumutabila("Crima si Pedeapsa", "F.M. Dostoievski", 3); CarteImprumutabila RazboiSiPace = new CarteImprumutabila("Razboi si Pace", "Lev Tolstoi", 4); CarteImprumutabila DavidCopperfield = new CarteImprumutabila("David Copperfield", "Charles Dickens", 3); CarteNeimprumutabila EnciclopediaBritanica = new CarteNeimprumutabila("Enciclopedia Britanica", "-", 1); CarteNeimprumutabila IstoriaRomaniei = new CarteNeimprumutabila("Istoria Romaniei", "Nicolae Iorga", 1); List <CarteImprumutabila> ListaCartiImprumutabile = new List <CarteImprumutabila>(); List <CarteNeimprumutabila> ListaCartiNeimprumutabile = new List <CarteNeimprumutabila>(); ListaCartiImprumutabile.Add(MonteCristo); ListaCartiImprumutabile.Add(CrimaSiPedeapsa); ListaCartiImprumutabile.Add(RazboiSiPace); ListaCartiImprumutabile.Add(DavidCopperfield); ListaCartiNeimprumutabile.Add(EnciclopediaBritanica); ListaCartiNeimprumutabile.Add(IstoriaRomaniei); InBiblioteca(Anastasia, AncaBibliotecara, ListaCartiImprumutabile, ListaCartiNeimprumutabile); Console.ReadKey(); }
static void Main(string[] args) // N-am stiut cum sa transform lista de carti disponibile intr-o lista tip int ca sa fac referire la cartile din biblioteca { List <Carte> CartiDisponibile = new List <Carte>(); Carte ManifestderKommunistischenPartei = new Carte("Manifestul Partidului Comunist", "Karl Marx si Friedrich Engels", 304, 2002, 5, /*5,*/ "Document", "Politica", "Penguin Books", false); CartiDisponibile.Add(ManifestderKommunistischenPartei); Carte ZarathustraEinBuchfürAlleundKeinen = new Carte("Asa grait-a Zarathustra", "Friedrich Nietzsche", 392, 2019, 3, /*2,*/ "Nuvela filosofica", "Filosofie", "Humanitas", false); CartiDisponibile.Add(ZarathustraEinBuchfürAlleundKeinen); Carte VorlesungenzurEinführungindiePsychoanalyseUndNeueFolge = new Carte("Introducere in psihanaliza", "Sigmund Freud", 664, 2010, 1, /*0,*/ "Psihanaliza", "Psihologie", "Trei", true); CartiDisponibile.Add(VorlesungenzurEinführungindiePsychoanalyseUndNeueFolge); Carte 生き甲斐 = new Carte("Ikigai", "Garcia Hector si Francesc Miralles", 176, 2017, 5, /*3,*/ "Self Help", "Dezvoltare personala", "Humanitas", true); CartiDisponibile.Add(生き甲斐); Carte StaringAtTheSun = new Carte("Privind soarele in fata", "Irvin Yalom", 240, 2011, 2, /*2,*/ "Ezoterism", "Dezvoltare personala", "Vellant", true); CartiDisponibile.Add(StaringAtTheSun); Carte TheSixPillarsofSelfEsteem = new Carte("Cei sase stalpi ai increderii in sine", "Nathaniel Branden", 352, 2008, 4, /*1,*/ "Self Help", "Psihologie", "Amsta", false); CartiDisponibile.Add(TheSixPillarsofSelfEsteem); CititorSimplu Cristian = new CititorSimplu("Avram", "Cristian", 0, 3); CititorSimplu Rudi = new CititorSimplu("Rudi", "Ovidiu", 2, 0); CititorSimplu Gabi = new CititorSimplu("Hanu", "Gabriel", 1, 5); CititorSimplu Mioara = new CititorSimplu("Manuela", "Mioara", 1, 3); CititorSimplu Letitia = new CititorSimplu("Provian", "Letitia", 0, 2); CititorSimplu Vlad = new CititorSimplu("Octavian", "Vlad", 0, 1); Bibliotecar Bogdan = new Bibliotecar("Geagu Bogdan", "Pasteluri bacoviene", false); bool DeschidemBiblioteca(Bibliotecar bibliotecar) { Console.WriteLine("Doriti sa deschideti biblioteca?"); Console.WriteLine("1.Da 2.Nu"); ConsoleKeyInfo tastaApasata = Console.ReadKey(); if (tastaApasata.Key == ConsoleKey.D1) { Bogdan.IntraInBiblioteca(); Console.ReadKey(); return(true); } else if (tastaApasata.Key == ConsoleKey.D2) { Console.WriteLine("Ati selectat ca biblioteca sa ramana inchisa."); Console.WriteLine(); Console.WriteLine("V-ati razgandit? Apasati orice tasta pentru a vi se afisa meniul."); Console.ReadKey(); DeschidemBiblioteca(bibliotecar); return(false); } else { Console.WriteLine("Nu ati selectat dintre optiunile afisate, va rugam reveniti."); Console.WriteLine(); Console.WriteLine("V-ati razgandit? Apasati orice tasta pentru a vi se afisa meniul."); Console.ReadKey(); DeschidemBiblioteca(bibliotecar); return(false); } } DeschidemBiblioteca(Bogdan); Vlad.IntraInBiblioteca(); Bogdan.DoritiOCarte(Vlad); Bogdan.AreMembership(Vlad); Vlad.PoateImprumutaCartea(); if ((Vlad.Membership == 0) && (Vlad.CartiImprumutate == 3)) { Console.WriteLine($"Ati atins limita de {Vlad.CartiImprumutate} carti, nu mai puteti imprumuta alte titluri" + $"pana nu returnati cel putin una dintre ele sau achizitionati abonamentul de membru VIP."); Console.WriteLine("Doriti sa deveniti membru VIP? 1.Da 2.Nu"); ConsoleKeyInfo tastaApasata = Console.ReadKey(); if (tastaApasata.Key == ConsoleKey.D1) { Vlad.Membership = 1; Console.WriteLine("Felicitari! Sunteti membru VIP!"); Vlad.PoateImprumutaCartea(); } else { Console.WriteLine("Returnati din carti pentru a putea imprumuta altele."); } } else { Vlad.CartiImprumutate = Bibliotecar.ImprumutaCartea(生き甲斐); } }