/// <summary> /// Inserta un nodo al inicio de la lista (afecta el orden por id). /// </summary> public void InsertarInicio(CAnimal mascota) { trabajo = ancla; CNodo nuevo = new CNodo(); nuevo.Id = IncrementaId(); nuevo.Mascota = mascota; nuevo.Siguiente = trabajo.siguiente; trabajo.siguiente = nuevo; }
/// <summary> /// Inserta un nodo delante del nodo que contiene el dato ingresado ("Afecta el orden por id de la lista"). /// </summary> /// <param name="posicion"></param> public void Insertar(int posicion, CAnimal mascota) { CNodo encontrado = Buscar(posicion); if (encontrado != null) { CNodo nuevo = new CNodo(); nuevo.Id = IncrementaId(); nuevo.Mascota = mascota; nuevo.Siguiente = encontrado.Siguiente; encontrado.Siguiente = nuevo; } }
/// <summary> /// Adiciona un nodo al final de la lista /// </summary> /// <param name="mascota">Animal que contendra el nodo a adicionar.</param> public void Adicionar(CAnimal mascota) { trabajo = ancla; while (trabajo.Siguiente != null) { trabajo = trabajo.Siguiente; } CNodo nuevo = new CNodo(); nuevo.Id = IncrementaId(); nuevo.Mascota = mascota; trabajo.Siguiente = nuevo; }
//FIXME: No esta funcionando. public CAnimal MuestraAnimal(int id) { trabajo = ancla; while (trabajo.Siguiente != null) { trabajo = trabajo.Siguiente; if (id == trabajo.Id) { CAnimal encontrado = trabajo.Mascota; return(encontrado); } } return(null); }
private static CAnimal CreaMascota() { CAnimal mascota = new CAnimal(); //Pedimos los datos para la creacion de la mascota int tipo; do { tipo = TipoMascota(); } while (tipo < 5 && tipo > 0); //salimos en caso de 4 if (tipo == 4) { return(mascota = null); } switch (tipo) { case 1: mascota = new CPerro(); break; case 2: mascota = new CGato(); break; case 3: mascota = new CAve(); break; } //creamos la mascota con los datos mascota.ObtenerDatos(); //retornamos la mascota return(mascota); }
private static void MenuAdm() { bool salir = false; int opcion = 0; while (salir == false) { Console.WriteLine("1- Agregar Mascota"); Console.WriteLine("2- Buscar Mascota"); Console.WriteLine("3- Editar Mascota"); Console.WriteLine("4- Eliminar Mascota"); Console.WriteLine("5- Salir"); opcion = CTool.EvaluaNumeroInt(); if (opcion < 6 && opcion > 0) { switch (opcion) { case 1: Console.WriteLine("=================================="); Console.WriteLine("Administrador - Agregar Mascota"); Console.WriteLine("=================================="); CAnimal mascota = CreaMascota(); if (mascota != null) { switch (mascota.Tipo) { case 1: listaPerros.Adicionar(mascota); Console.WriteLine($"Mascota agregada a la lista perro"); break; case 2: listaGatos.Adicionar(mascota); Console.WriteLine($"Mascota agregada a la lista Gato"); break; case 3: listaAves.Adicionar(mascota); Console.WriteLine($"Mascota agregada a la Ave"); break; } Console.ReadKey(); } else { Console.WriteLine("Ningun registro agregado"); } break; case 2: Console.WriteLine("=================================="); Console.WriteLine("Administrador - Buscar Mascota"); Console.WriteLine("=================================="); int tipo; do { tipo = TipoMascota(); } while (tipo < 0 && tipo > 5); if (tipo != 4) { switch (tipo) { case 1: if (listaPerros.EstaVacia() != true) { Console.WriteLine("Id a buscar"); int id = CTool.EvaluaNumeroInt(); CAnimal encontrado = listaPerros.MuestraAnimal(id); if (encontrado != null) { encontrado.MostarDatos(); } else { Console.WriteLine("No se encontro coincidencia"); } Console.ReadKey(); } else { Console.WriteLine("Aun no hay registros"); } break; case 2: if (listaGatos.EstaVacia() != true) { Console.WriteLine("Id a buscar"); int id = CTool.EvaluaNumeroInt(); CAnimal encontrado = listaGatos.MuestraAnimal(id); if (encontrado != null) { encontrado.MostarDatos(); } else { Console.WriteLine("No se encontro coincidencia"); } Console.ReadKey(); } else { Console.WriteLine("Aun no hay registros"); } break; case 3: if (listaAves.EstaVacia() != true) { Console.WriteLine("Id a buscar"); int id = CTool.EvaluaNumeroInt(); CAnimal encontrado = listaAves.MuestraAnimal(id); if (encontrado != null) { encontrado.MostarDatos(); } else { Console.WriteLine("No se encontro coincidencia"); } Console.ReadKey(); } else { Console.WriteLine("Aun no hay registros"); } break; } } break; case 3: Console.WriteLine("=================================="); Console.WriteLine("Administrador - Editar Mascota"); Console.WriteLine("=================================="); break; case 4: Console.WriteLine("4- Eliminar Mascota"); break; case 5: Console.WriteLine("5- Salir"); salir = true; break; } } } }