static void Main(string[] args) { Persona ruben = new Persona("Ruben", 67); Persona moria = new Persona("Moria", 40); Persona javier = new Persona("Javier", 15); Persona carlos = new Persona("Carlos", 88); Persona mia = new Persona("Mia", 4); Persona santino = new Persona("Santino", 3); Persona nahuel = new Persona("Nahuel", 20); Persona mariam = new Persona("Miriam", 35); Node <Persona> nCarlos = new Node <Persona>(carlos); Node <Persona> nRuben = new Node <Persona>(ruben); Node <Persona> nMoria = new Node <Persona>(moria); Node <Persona> nJavier = new Node <Persona>(javier); Node <Persona> nNahuel = new Node <Persona>(nahuel); Node <Persona> nSantino = new Node <Persona>(santino); Node <Persona> nMariam = new Node <Persona>(mariam); Node <Persona> nMia = new Node <Persona>(mia); nCarlos.AddChildren(nRuben); nRuben.AddChildren(nMoria); nRuben.AddChildren(nMariam); nMoria.AddChildren(nJavier); nMariam.AddChildren(nMia); nMariam.AddChildren(nSantino); nMariam.AddChildren(nNahuel); AgeVisitor ageVisitor = new AgeVisitor(); nCarlos.accept(ageVisitor); Console.WriteLine($"La suma de edades es {ageVisitor.AgeTotal}"); OldestSonVisitor oldVisitor = new OldestSonVisitor(); nCarlos.accept(oldVisitor); Console.WriteLine($"El hijo más grande es {oldVisitor.Oldest.Nombre}"); LongestNameVisitor nameVisitor = new LongestNameVisitor(); nCarlos.accept(nameVisitor); Console.WriteLine($"El nombre más largo es {nameVisitor.LongName.Nombre}"); }
static void Main(string[] args) { Person francisco = new Person("Francisco", 26); Person felipe = new Person("Felipe", 1); Person matias = new Person("Matias", 7); Person diego = new Person("Diego", 4); Person juan = new Person("Juan", 22); Person ana = new Person("Ana", 25); Person pedro = new Person("Pedro", 33); Person luis = new Person("Luis", 44); Person agustin = new Person("Agustin", 15); Person javi = new Person("Javi", 70); Person cecilia = new Person("Cecilia", 15); Node <Person> nodoFrancisco = new Node <Person>(francisco); Node <Person> nodoFelipe = new Node <Person>(felipe); Node <Person> nodoMatias = new Node <Person>(matias); Node <Person> nodoDiego = new Node <Person>(diego); Node <Person> nodoJuan = new Node <Person>(juan); Node <Person> nodoAna = new Node <Person>(ana); Node <Person> nodoPedro = new Node <Person>(pedro); Node <Person> nodoLuis = new Node <Person>(luis); Node <Person> nodoAgustin = new Node <Person>(agustin); Node <Person> nodoJavi = new Node <Person>(javi); Node <Person> nodoCecilia = new Node <Person>(cecilia); nodoJavi.AddChildren(nodoLuis); nodoLuis.AddChildren(nodoAna); nodoLuis.AddChildren(nodoJuan); nodoLuis.AddChildren(nodoFrancisco); nodoLuis.AddChildren(nodoPedro); nodoPedro.AddChildren(nodoAgustin); nodoFrancisco.AddChildren(nodoFelipe); nodoFrancisco.AddChildren(nodoCecilia); nodoAna.AddChildren(nodoMatias); nodoJuan.AddChildren(nodoDiego); //Mostrar en pantalla System.Console.WriteLine("\n\n\n"); System.Console.WriteLine("**************************************************************************\n ARBOL GENEALOGICO\n**************************************************************************"); PrinterVisitor pv = new PrinterVisitor(); pv.Visit(nodoJavi); System.Console.WriteLine("\n**************************************************************************"); FamilyAgeVisitor familyAge = new FamilyAgeVisitor(); familyAge.Visit(nodoJavi); Console.WriteLine($"La suma de todas las edades es de {familyAge.FamilyAge} años"); LongestNameVisitor longestName = new LongestNameVisitor(); longestName.Visit(nodoJavi); Console.WriteLine($"El nombre más largo es \"{longestName.LName}\" con {longestName.LName.Length} letras"); OldestChildVisitor oldestChild = new OldestChildVisitor(); oldestChild.Visit(nodoJavi); oldestChild.printOlderChild(oldestChild); System.Console.WriteLine("**************************************************************************"); }