public static void Main()
Cao[] meusCaes = new Cao[10];
Console.WriteLine("\nInsira uma opção: \n (alterar, listar, sair) \n");
opcao = Console.ReadLine();
Console.WriteLine("A aplicação vai terminar.");
Console.WriteLine("ERRO: Não inseriu um comando válido.");
} while (opcao != "sair");
static void alterar(Cao[] pmeusCaes) {
string indexInserido, idadeInserida;
Console.WriteLine("Insira o registo do cao a modificar (de 1 a 10).");
indexInserido = Console.ReadLine();
int.TryParse(indexInserido, out index);
} while ( index < 0 || index > 10);
if (pmeusCaes[index] == null)
pmeusCaes[index] = new Cao();
Console.WriteLine("Novo nome:");
pmeusCaes[index].setNome(Console.ReadLine());
Console.WriteLine("Nova raça:");
pmeusCaes[index].setRaca(Console.ReadLine());
Console.WriteLine("Nova idade (entre 0 e 20):");
idadeInserida = Console.ReadLine();
idade = int.Parse(idadeInserida);
Console.WriteLine("Valor para idade invalido.");
} while (idade < 0 || idade > 20 );
pmeusCaes[index].setIdade(idade);
static void listar(Cao[] pmeusCaes) {
for (int i = 0; i < pmeusCaes.Length; i++)
if (pmeusCaes[i] != null)
Console.WriteLine("{0} {1} {2} {3}", i+1, pmeusCaes[i].getNome(), pmeusCaes[i].getRaca(), pmeusCaes[i].getIdade());
Console.WriteLine("{0} (não inicializado)", i+1);
Console.WriteLine("\nNúmero de caes registados: {0}\n", Cao.nrCaes);
public static int nrCaes = 0;
public void setNome(string pnome){
public string getNome() {
public void setRaca(string praca){
public string getRaca() {
public void setIdade(int pidade){