}//FIM ELIMINAR ANIMAL public void TransferirAnimal() { string animal; string nomeArea; do { Console.WriteLine("INDIQUE O ANIMAL A TRANSFEIR"); animal = Console.ReadLine(); try { foreach (char c in animal) { if (char.IsDigit(c)) { int.TryParse(animal, out int indexArea); animal = ListaAnimais[indexArea - 1].getNomeAnimal(); } } } catch { Console.WriteLine("O ANIMAL NÃO SE ENCONTRA NA LISTA"); } } while (!verificaNomeNaLista(animal)); do { Console.WriteLine("INDIQUE A AREA PARA ONDE DESEJA TRANSFERIR O ANIMAL"); nomeArea = Console.ReadLine(); } while (!GestorAreas.verificaAreaExiste(nomeArea)); string areaAnimal = ""; foreach (Animais a in ListaAnimais) { if (a.getNomeAnimal() == animal) { areaAnimal = a.getLocalizacaoAnimal(); } } }
public static void Main(string[] args) { GestorAreas.FicheiroAreas(); //Chamada ao carregamento do FicheiroAreas Menu(); //Chamada ao Menu }
public static void Menu() { int menu; do { Console.Clear(); string boasvindas = "BEM-VINDO AO ZOOLOGICO - a21270211"; Console.SetCursorPosition((Console.WindowWidth - boasvindas.Length) / 2, Console.CursorTop); Console.WriteLine(boasvindas); Console.WriteLine("\n1 - IMPRIMIR AREAS" + "\n2 - CRIAR AREA" + "\n3 - ELIMINAR AREA" + "\n\n4 - LISTAR TODAS ESPECIES" + "\n5 - LISTAR ESPECIES NO ZOO" + "\n6 - CRIAR ESPECIE" + "\n7 - ADD HABITATE A ESPECIE" + "\n8 - APAGAR ESPECIES" + "\n9 - APAGAR HABITATE A ESPECIE" + "\n\n10 - CRIAR ANIMAL" + "\n11 - IMPRIMIR ANIMAIS" + "\n12 - APAGAR ANIMAL" + "\n13 - NASCER ANIMAL" + "\n\nENTER - SAIR"); Console.Write("\n"); int.TryParse(Console.ReadLine(), out menu); switch (menu) { case 1: Console.Clear(); GestorAreas.ImprimirAreas(); break; case 2: Console.Clear(); GestorAreas.CriarArea(); break; case 3: Console.Clear(); GestorAreas.EliminarAreas(); break; case 4: Console.Clear(); GestorEspecies.ImprimirEspecies(); break; case 5: Console.Clear(); GestorAnimais.getEspecie(); break; case 6: Console.Clear(); GestorEspecies.CriarEspecie(); break; case 7: Console.Clear(); GestorEspecies.addHabitate(); break; case 8: Console.Clear(); GestorEspecies.ApagarEspecie(); break; case 9: Console.Clear(); GestorEspecies.ApagarHabitateEspecie(); break; case 10: Console.Clear(); GestorAnimais.CriarAnimal(); break; case 11: Console.Clear(); GestorAnimais.ImprimirAnimais(); break; case 12: Console.Clear(); GestorAnimais.EliminarAnimal(); break; case 13: Console.Clear(); GestorAnimais.NascerAnimal(); break; case 0: return; } } while (menu < 0 || menu > 2); }
public static void CriarAnimal() { if (GestorEspecies.ListaVazia()) { Console.WriteLine("AINDA NAO NENHUMA ESPECIE CRIADA, PARA QUE POSSA CRIAR ANIMAL"); Console.WriteLine("\n<ENTER PARA VOLTAR AO MENU"); Console.ReadLine(); Console.Clear(); MainClass.Menu(); } else { string nomeAnimal; ListaProgenitores = new List <string>(); ListaFilhos = new List <string>(); do { Console.WriteLine("INSIRA O NOME DO ANIMAL"); nomeAnimal = Console.ReadLine(); if (nomeAnimal.Length < 1) { Console.WriteLine("INSIRA UM NOME PARA O ANIMAL"); } else { if (verificaNomeNaLista(nomeAnimal)) { Console.WriteLine("JA EXISTE UM ANIMAL COM O MESMO NOME"); } } } while (verificaNomeNaLista(nomeAnimal) || nomeAnimal.Length < 1); int peso; do { Console.WriteLine("INDIQUE O PESO DO ANIMAL"); int.TryParse(Console.ReadLine(), out peso); if (peso <= 0) { Console.WriteLine("PESO INVÁLIDO"); } } while (peso <= 0); string especie; do { Console.WriteLine("INDIQUE A ESPECIE DESTE ANIMAL"); especie = Console.ReadLine(); if (!GestorEspecies.verificaEspecieExiste(especie)) { Console.WriteLine("A ESPECIE NãO EXISTE"); } } while (!GestorEspecies.verificaEspecieExiste(especie)); string localizacao; bool verificaArea = true; do { Console.WriteLine("INDIQUE A AREA PARA ESTE ANIMAL"); localizacao = Console.ReadLine(); if (GestorAreas.verificaAreaExiste(localizacao)) { string habitateDestaArea = GestorAreas.GetHabitateArea(localizacao); if (GestorEspecies.verificaEspecieHabitateExiste(especie, habitateDestaArea)) { verificaArea = true; } else { Console.WriteLine("ESTA AREA NAO TEM O HABITATE APROPRIADA Á ESPECIE ESCOLHIDA PARA ESTE ANIMAL"); verificaArea = false; } } else { Console.WriteLine("A AREA NAO EXISTE"); verificaArea = false; } } while (verificaArea == false); int simuladorLista = ListaAnimais.Count; if (ListaAnimais.Count > ListaProgenitores.Count) { char temPais; do { Console.WriteLine("O ANIMAL TEM PAIS NO ZOO? Y/N"); char.TryParse(Console.ReadLine(), out temPais); bool verificaAnimal = false; if (temPais == 'y') { string nomePai; do { Console.WriteLine("INDIQUE O NOME DO/A PROGENITOR/A"); do { nomePai = Console.ReadLine(); foreach (Animais animal in ListaAnimais) { if (nomePai == animal.getNomeAnimal()) { ListaProgenitores.Add(nomePai); simuladorLista++; verificaAnimal = true; break; } } if (verificaAnimal == false) { Console.WriteLine("ESSE ANIMAL NAO EXISTE NO ZOO"); } } while (verificaAnimal == false); while (ListaProgenitores.Count < ListaAnimais.Count && ListaProgenitores.Count < 2) { Console.WriteLine("O ANIMAL TEM MAIS ALGUM PROGENITOR NO ZOO? Y/N"); char.TryParse(Console.ReadLine(), out temPais); if (temPais != 'n' && temPais != 'y') { Console.WriteLine("ESSA TECLA E INVALIDA"); } else { break; } } if (!(ListaProgenitores.Count < ListaAnimais.Count && ListaProgenitores.Count < 2)) { temPais = 'n'; } } while (temPais == 'y'); } else if (temPais != 'n') { Console.WriteLine("ESSA TECLA E INVALIDA"); } } while (temPais == 'y' || temPais != 'n'); } if (ListaAnimais.Count > ListaProgenitores.Count) { char temFilhos; Console.WriteLine("O ANIMAL TEM FILHOS NO ZOO? Y/N"); char.TryParse(Console.ReadLine(), out temFilhos); do { if (temFilhos == 'y') { Console.WriteLine("QUANTOS FILHOS TEM O ANIMAL?"); int.TryParse(Console.ReadLine(), out int nFilhos); //do{ if (((ListaAnimais.Count - (ListaFilhos.Count + ListaProgenitores.Count)) >= nFilhos) && nFilhos > 0) { bool verificaAnimal = false; for (int i = 0; i < nFilhos; i++) { do { Console.WriteLine("INDIQUE O NOME DO FILHO " + i + 1); string nomeFilho = Console.ReadLine(); foreach (Animais animal in ListaAnimais) { if (nomeFilho == animal.getNomeAnimal()) { ListaFilhos.Add(nomeFilho); verificaAnimal = true; } } if (verificaAnimal == false) { Console.WriteLine("ESSE ANIMAL NAO EXISTE NO ZOO"); } } while (verificaAnimal == false); temFilhos = 'n'; } } else if (nFilhos < 1) { Console.WriteLine("INTRODUZA MAIOR QUE 0"); } else { Console.WriteLine("SO EXISTEM {0} FILHOS DISPONIVEIS", ListaAnimais.Count - (ListaFilhos.Count + ListaProgenitores.Count)); } //}while () ; } else if (temFilhos != 'n') { Console.WriteLine("ESSA TECLA E INVALIDA"); } } while (temFilhos != 'n'); } Animais novoAnimal = new Animais(nomeAnimal, peso, especie, localizacao, ListaProgenitores, ListaFilhos); ListaAnimais.Add(novoAnimal); Console.WriteLine("O ANIMAL FOI CRIADO COM SUCESSO"); Console.WriteLine("\n<ENTER PARA VOLTAR AO MENU"); Console.ReadLine(); Console.Clear(); MainClass.Menu(); } }//FIM CRIAR ANIMAL