public void AgregarUsuario(string nick, string pass, string correo, string conectado) { nuevoABB.Insertar(nick, pass, correo, conectado); string cadena; string ram = ""; if (nuevoABB.ramas() >= 0) { ram = nuevoABB.ramas().ToString(); } else { ram = "0"; } cadena = "digraph G {\nlabel = \"Arbol de Usuarios\nAltura: " + nuevoABB.altura() + "\nRamas: " + ram + "\nHojas: " + nuevoABB.hojas() + "\";\n" + nuevoABB.dotArbol() + "\n}"; crearDot(cadena, "usuarios"); crearPng("usuarios"); }
public ActionResult Create(FormCollection collection) { LlenarListas(); try { Paciente AgregarPaciente = new Paciente() { Id = DatosPacientes.Count, //Datos Personales Edad = Convert.ToInt32(collection["Edad"]), Nombre = collection["Nombre"], Apellido = collection["Apellido"], Identificacion = collection["Identificacion"], Departamento = collection["Departamento"], Municipio = collection["Municipio"], //Salud Sintomas = collection["Sintomas"], DescripcionContagioPosible = collection["DescripcionContagioPosible"], Prioridad = CalcularPrioridad(Convert.ToInt32(collection["Edad"]), collection["EstadoPaciente"] == "Confirmado"), Fecha = DateTime.Now.ToLongDateString(), HoraIngreso = DateTime.Now.ToString("hh:mm:ss"), EstadoPaciente = collection["EstadoPaciente"], Accion = "Examinar" }; if (AgregarPaciente.EstadoPaciente == "Confirmado") { Confirmados++; } else { Sospechosos++; } //Llenar indices busqueda IndiceNombre.Insertar(AgregarPaciente.Nombre, AgregarPaciente.Id); IndiceApellido.Insertar(AgregarPaciente.Apellido, AgregarPaciente.Id); IndiceIde.Insertar(AgregarPaciente.Identificacion, AgregarPaciente.Id); //Llenar lista, cola DatosPacientes.Add(AgregarPaciente); LlenarConfirmados(ref AgregarPaciente); return(RedirectToAction("Index")); } catch { return(View()); } }
/// <summary> /// Menu en caso de todos los datos del arbol sean enteros /// </summary> /// <param name="node">Arbol el cual se va manipular</param> /// <param name="nombre">nombre del arbol para mostrar al usuario</param> static public void MenuMostrar_C2(ref NodoArbol node, string nombre) { bool rep = false; do { Console.Clear(); Console.Title = $"Arbol {nombre}"; Console.WriteLine("1.- Mostrar Datos del Arbol"); Console.WriteLine("2.- Insertar nodo"); Console.WriteLine("3.- Eliminar nodo"); Console.WriteLine("4.- Buscar nodo en el arbol"); Console.WriteLine("5.- Buscar padre"); Console.WriteLine("6.- Recorrido PreOrden"); Console.WriteLine("7.- Recorrido InOrden"); Console.WriteLine("8.- Recorrido PostOrden"); Console.WriteLine("9.- Salir del Menu Actual"); Console.WriteLine("10.- Salir del Programa"); try { switch (int.Parse(Console.ReadLine())) { case 1: Console.Clear(); ABB.Transversa(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 2: var valor = MenuInsercionInt(); node = ABB.Insertar(valor, node); rep = true; break; case 3: Console.WriteLine("Que valor desea eliminar?"); ABB.BorrarNodo(int.Parse(Console.ReadLine()), node); rep = true; break; case 4: Console.Clear(); Console.Write("Valor a buscar: \t"); int valor2 = int.Parse(Console.ReadLine()); if (Recorridos.Resultado_Buscar(node, valor2)) { NodoArbol nodoBuscado = Recorridos.Buscar(node, valor2); string mensaje = $"El elemento {nodoBuscado.Valor} si existe; "; if (nodoBuscado.Izq != null) { mensaje += $"su hijo izquierdo es {nodoBuscado.Izq.Valor}"; } else { mensaje += "su hijo izquierdo es null"; } if (nodoBuscado.Der != null) { mensaje += $", su hijo derecho es {nodoBuscado.Der.Valor}"; } else { mensaje += $", su hijo derecho es null"; } Console.WriteLine(mensaje); } else { Console.WriteLine("El elemento no existe"); } Console.ReadKey(); rep = true; break; case 5: Console.Clear(); Console.Write("Valor a evaluar: \t"); int valor3 = int.Parse(Console.ReadLine()); if (Recorridos.Resultado_Buscar(node, valor3)) { NodoArbol result = ABB.BuscarPadre(valor3, node); if (result == null) { Console.WriteLine($"El valor {valor3} es la raiz"); } else { Console.WriteLine($"El padre de {valor3} es {result.Valor}"); } } else { Console.WriteLine("El elemento no existe"); } Console.ReadKey(); rep = true; break; case 6: Recorridos.PreOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 7: Recorridos.InOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 8: Recorridos.PostOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 9: rep = false; break; case 10: Environment.Exit(0); break; default: Console.WriteLine("Ingrese una opcion valida"); rep = true; break; } } catch (System.FormatException) { Console.WriteLine("Ingrese un valor numerico"); } } while (rep); }