public static void Build(int choice) { switch (choice) { case 1: graph = SetGraphTypeMenu(); break; case 2: CheckGraphStatus(); graph.AddVertex( ConsoleHelpers.ReadLineAfterDisplayingMessage("Please enter a name for your vertex: ")); break; case 3: CheckGraphStatus(); ViewGraph.View(graph); break; case 4: CheckGraphStatus(); ListVertex(); var v1 = GetFirstVertex(); var v2 = GetSecondVertex(); var distance = GetDistance(); AddAdjacency(v1, v2, distance); break; case 5: graph = (Graph)GraphBuilder.ValidRandom()[0]; break; default: break; } }
static void Main(string[] args) { Graph graph = null; while (true) { Console.Clear(); int choice; Console.WriteLine("Please make a choice:"); Console.WriteLine("1. Build Graph"); Console.WriteLine("2. Import Graph"); Console.WriteLine("3. Export Graph"); Console.WriteLine("4. Traverse Graph"); Console.WriteLine("5. View Current Graph"); choice = int.Parse(Console.ReadLine()); string path; switch (choice) { case 1: BuildGraph.graph = graph; BuildGraph.BuildMenu(); break; case 2: path = ConsoleHelpers.ReadLineAfterDisplayingMessage("Please enter the path to your graph xml file"); graph = Settings.Load(path); break; case 3: path = ConsoleHelpers.ReadLineAfterDisplayingMessage("Please enter path to save file to."); Settings.Save(graph, path, Settings.GetType(graph), false); break; case 4: var i = 0; foreach (var vertex in graph.MyGraph) { Console.WriteLine("{0}. {1}", ++i, vertex.VertexID); } var source = BuildGraph.GetFirstVertex(); var target = BuildGraph.GetSecondVertex(); GraphTraversal.TraverseGraph(graph, source, target); break; case 5: ViewGraph.View(graph); break; default: break; } } }