public void Adopt(Dinosaur dino) { dinosaurs.Add(dino); Console.WriteLine($"\n{dino.GetRace()} {dino.GetName()} has been added to the Park."); }
static void Main(string[] args) { var dinosaurs = new List <Dinosaur>(); // P - Problem // Create a console application that manages a zoo full of dinosaurs. // Create an application that allows us to: // CRUD // - Create: Add (create) a new Dinosaur that is available for adoption // - Read: Get lists of Dinosaurs that are housed at the park - ordered by date acquired and by enclosure number // - Update: Update information about a dinosaur that is at the park // - Delete: Remove a dinosaur from the park // E - Examples: // - Name type of dinosaur - string // - Diet Type (herbivore/Carnivore) - string // - When Acquired This will default to the current time when the dinosaur is created - int // - Weight How heavy the dinosaur is in pounds- string // - Enclosure Number the number of the pen the dinosaur is in - string // D - Data // Dinosaur class // list of Dinosaurs // A - Algorithm // Welcome the user to the application Console.WriteLine(); Console.WriteLine(); Console.WriteLine("||----WELCOME TO JURASSIC PARK----||"); Console.WriteLine(); Console.WriteLine(); // While the user hasn't quit the application var hasQuitTheApplication = false; while (hasQuitTheApplication is false) { // Show them a menu of options they can do // View - This command will show the all the dinosaurs in the list, ordered by WhenAcquired // Add - This command will let the user type in the information for a dinosaur and add it to the list. // Remove - This command will prompt the user for a dinosaur name then find and delete the dinosaur with that name. // Transfer - This command will prompt the user for a dinosaur name and a new EnclosureNumber and update that dino's information. // Summary - This command will display the number of carnivores and the number of herbivores. // Quit - This will stop the program Console.WriteLine("What do you want to do?"); Console.WriteLine("VIEW - View Dinosaurs in the park"); Console.WriteLine("ADD - Add a new dinosaur"); Console.WriteLine("REMOVE - Remove a dionsaur from the park"); Console.WriteLine("TRANSFER - Transfer dinosaur to a new enclosure"); Console.WriteLine("SUMMARY - Display number of herbivores and carnivores"); Console.WriteLine("QUIT - This will exit the program"); Console.WriteLine(); Console.WriteLine("CHOICE:"); var choice = Console.ReadLine().ToUpper(); if (choice == "QUIT") { hasQuitTheApplication = true; } if (choice == "VIEW") { // Show a list of all the dinosaurs. var sorted = dinosaurs.OrderBy(dinosaur => dinosaur.whenAcquired); Console.WriteLine($"{sorted}"); } if (choice == "ADD") { Console.WriteLine("NAME: "); var name = Console.ReadLine(); Console.WriteLine("DIET TYPE:"); var dietType = Console.ReadLine(); Console.WriteLine("WEIGHT:"); var weight = int.Parse(Console.ReadLine()); Console.WriteLine("ENCLOSURE:"); var enclosure = int.Parse(Console.ReadLine()); var dinosaur = new Dinosaur() { Name = name, DietType = dietType, Weight = weight, Enclosure = enclosure, }; dinosaurs.Add(dinosaur); // name // DietType // Weight // time acquired // enclosure // make a new Dinosaur // add Dinosaur to the park } if (choice == "REMOVE") { // remove dinosaurs from the park Console.WriteLine("NAME: "); var dinosaurToRemove = Console.ReadLine(); var removedino = dinosaurs.FirstOrDefault(dinosaurs => dinosaurs.Name == dinosaurToRemove); if (removedino != null) { Console.WriteLine(removedino.Description()); Console.WriteLine("ARE YOU SURE, YES OR NO?"); var answer = Console.ReadLine(); if (answer == "YES") { dinosaurs.Remove(removedino); } } else { Console.WriteLine($"There is no such Dinosaur {removedino} in Jurassic Park"); } } if (choice == "TRANSFER") { // update enclosure number Console.WriteLine("NAME: "); var dinosaurToRemove = Console.ReadLine(); var removedino = dinosaurs.FirstOrDefault(dinosaurs => dinosaurs.Name == dinosaurToRemove); if (removedino != null) { Console.WriteLine(removedino.Description()); Console.WriteLine("ARE YOU SURE, YES OR NO?"); var answer = Console.ReadLine(); if (answer == "YES") { Console.WriteLine("NEW ENCLOSURE"); var newEnclosure = Console.ReadLine(); removedino.Enclosure = int.Parse(newEnclosure); } } } if (choice == "SUMMARY") { // display number of herbivores and carnivores var herbivores = dinosaurs.Count(herb => herb.DietType == "herbivore"); var carnivores = dinosaurs.Count(herb => herb.DietType == "carnivore"); Console.WriteLine($"THERE ARE {herbivores} HERBIVORES IN THE PARK"); Console.WriteLine($"THERE ARE {carnivores} CARNIVORES IN THE PARK"); } Console.WriteLine("---GOODBYE---"); } }
static void Main(string[] args) { //Add Dinosaurs var Velociraptor = new Dinosaur { Name = "Velociraptor", Diet = "Herbivore", Acquired = "May 14th 2020", Enclosure = "Unit A", Weight = "50 lbs" }; var Triceratops = new Dinosaur { Name = "Triceratops", Diet = "Herbivore", Acquired = "May 15th 2020", Enclosure = "Unit A", Weight = "500 lbs" }; var Tyrannosaurus = new Dinosaur { Name = "Tyrannosaurus", Diet = "Carnivore", Acquired = "May 14th 2020", Enclosure = "Unit B", Weight = "800 lbs" }; var Spinosaurus = new Dinosaur { Name = "Spinosaurus", Diet = "Carnivore", Acquired = "May 16th 2020", Enclosure = "Unit B", Weight = "600 lbs" }; var Cryolophosaurus = new Dinosaur { Name = "Cryolosaurus", Diet = "Carnivore", Acquired = "May 17h 2020", Enclosure = "Unit B", Weight = "100 lbs" }; //List the Dinos var listOfDinosaurs = new List <Dinosaur>(); listOfDinosaurs.Add(Velociraptor); listOfDinosaurs.Add(Triceratops); listOfDinosaurs.Add(Tyrannosaurus); listOfDinosaurs.Add(Spinosaurus); listOfDinosaurs.Add(Cryolophosaurus); //foreach (var dinosaur in listOfDinosaurs) //{ // Console.WriteLine(dinosaur.Name); //} //var dinosaursThatAreCarnivores = listOfDinosaurs.Where(dinosaur => dinosaur.Diet == "Carnivore"); //foreach (var dinosaur in dinosaursThatAreCarnivores) // { // Console.WriteLine($"{dinosaur.Name}"); // } Console.WriteLine(); Console.WriteLine("Welcome to the Dinosaur Zoo"); Console.WriteLine(); //If They Quit var userHasChosenToQuit = false; while (userHasChosenToQuit == false) { Console.WriteLine("Choose: "); //Add Dino Console.WriteLine("(A)dd a new Dinosaur"); //Remove Console.WriteLine("(R)emove a Dinosaur"); //View all Dinos Console.WriteLine("(V)iew all Dinosaurs"); //TransferDino to different Enclosure Console.WriteLine("(T)ransfer a Dinosaur"); //List Herbavores and Canivores Console.WriteLine("(S)ummary of Herbavores and Carnivores"); //Quit App Console.WriteLine("(Q)uit"); Console.WriteLine(); //Separate Dinos var choice = PromptForString("Choice: "); if (choice == "S") { var choiceOfDiet = PromptForString("(C)arnivores or (H)erbivores?"); var dinosaursThatAreCarnivores = listOfDinosaurs.Where(dinosaur => dinosaur.Diet == "Carnivore"); var dinosaursThatAreHerbivores = listOfDinosaurs.Where(dinosaur => dinosaur.Diet == "Herbivore"); if (choiceOfDiet == "C") { foreach (var dinosaur in dinosaursThatAreCarnivores) { Console.WriteLine(dinosaur.Name); } } if (choiceOfDiet == "H") { foreach (var dinosaur in dinosaursThatAreHerbivores) { Console.WriteLine(dinosaur.Name); } } } //To Quit for some reason if (choice == "Q") { userHasChosenToQuit = true; } //To Remove Dino // // if (foundDinosaur == null) //{ // Console.WriteLine($"There is no Dinosaur named {foundDinosaur}"); // break; // } // if (choice == "R") { var nameOfDinosaurBeingRemoved = PromptForString("Name of dinosaur to be removed: "); var foundDinosaur = listOfDinosaurs.FirstOrDefault(dinosaurs => nameOfDinosaurBeingRemoved == dinosaurs.Name); var foundDinosaurDescription = foundDinosaur.Description(); Console.WriteLine(foundDinosaurDescription); var shouldWeRemove = PromptForString("Are you sure you want to remove? (Y/N):"); if (shouldWeRemove == "Y") { listOfDinosaurs.Remove(foundDinosaur); } if (shouldWeRemove == "N") { Console.WriteLine("Okay, back to main menu"); } } //To Add a Dino if (choice == "A") { var newName = PromptForString("Name: "); var newDiet = PromptForString("Diet: "); var newWeight = PromptForString("Weight: "); var newAcquired = PromptForString("Acquired: "); var newEnclosure = PromptForString("Enclosure: "); listOfDinosaurs.Add(new Dinosaur { Name = newName, Diet = newDiet, Weight = newWeight, Acquired = newAcquired, Enclosure = newEnclosure, }); } //Show all Dinos if (choice == "V") { Console.WriteLine("Here are all our dinosaurs"); //Name is a diet that weighs they were committed on and are located at foreach (var Dinosaurs in listOfDinosaurs) { var description = Dinosaurs.Description(); Console.WriteLine(description); } } //Transfer Dino if (choice == "T") { var nameOfDinosaurToTransfer = PromptForString("Which Dinosaur would you like to update with their new Enclosure?"); var foundDinosaur = listOfDinosaurs.FirstOrDefault(dinosaur => dinosaur.Name == nameOfDinosaurToTransfer); if (foundDinosaur == null) { Console.WriteLine($"There is no dinosaur named {nameOfDinosaurToTransfer}"); } else { var foundDinosaurDescription = foundDinosaur.Description(); Console.WriteLine(foundDinosaurDescription); var newDinosaurEnclosure = PromptForString("Unit A or Unit B for new Enclosure?: "); foundDinosaur.Enclosure = newDinosaurEnclosure; } } } }