static void PrintPropertiesMenu(WeldGroup wGroup) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("========================================"); Console.WriteLine(""); Console.WriteLine("Enter Weld Group Properties:"); Console.WriteLine("(Select using numbers 1-9)"); Console.WriteLine("----------------------------------------"); switch (wGroup) { case WeldGroup.ParallelA: PrintDiagramParallelA(); break; case WeldGroup.ParallelB: PrintDiagramParallelB(); break; case WeldGroup.WShapeA: PrintDiagramWShapeA(); break; case WeldGroup.WShapeB: PrintDiagramWShapeB(); break; case WeldGroup.Rectangle: PrintDiagramRectangle(); break; } Console.WriteLine(" 1: b = " + b + " in.; 2: d = " + d + " in."); Console.WriteLine(""); Console.WriteLine(" 3: Pa = " + Pa + " kip"); Console.WriteLine(" 4: Pb = " + Pb + " kip"); Console.WriteLine(" 5: Pc = " + Pc + " kip"); Console.WriteLine(""); Console.WriteLine(" 6: Ma = " + Ma + " kip-in."); Console.WriteLine(" 7: Mb = " + Mb + " kip-in."); Console.WriteLine(" 8: Mc = " + Mc + " kip-in."); Console.WriteLine(""); Console.WriteLine(" 9: Allowable Stress = " + allowableStress + " ksi"); Console.WriteLine(""); Console.WriteLine(" B: Back to Main Menu"); Console.WriteLine(" C: Perform Calculation"); Console.WriteLine(" Q: Quit"); Console.WriteLine(""); Console.WriteLine("========================================"); Console.WriteLine(""); }
//Dims dims = new Dims(); public static void Main() { WeldGroup weldGroup = WeldGroup.NoVal; // Set to start in Main Menu State menuState = State.MainMenu; bool quit = false; // Loop until 'q' is pressed while (!quit) { // Main Menu if (menuState == State.MainMenu) { Console.Clear(); PrintMainMenu(); bool loop = true; string input = ""; while (loop) { input = Console.ReadLine(); foreach (string s in acceptInputs) { if (input == s) { loop = false; } } if (loop) { Console.WriteLine("Invalid Input"); } } switch (input) { case "1": // Take to Confirm Weld Group Page menuState = State.ConfirmWeldType; weldGroup = WeldGroup.ParallelA; break; case "2": // Take to Confirm Weld Group Page menuState = State.ConfirmWeldType; weldGroup = WeldGroup.ParallelB; break; case "3": // Take to Confirm Weld Group Page menuState = State.ConfirmWeldType; weldGroup = WeldGroup.WShapeA; break; case "4": // Take to Confirm Weld Group Page menuState = State.ConfirmWeldType; weldGroup = WeldGroup.WShapeB; break; case "5": menuState = State.ConfirmWeldType; weldGroup = WeldGroup.Rectangle; break; case "q": case "Q": quit = true; continue; default: break; } } // Enter Properties else if (menuState == State.ConfirmWeldType) { Console.Clear(); PrintConfirmText(); switch (weldGroup) { case WeldGroup.ParallelA: PrintDiagramParallelA(); break; case WeldGroup.ParallelB: PrintDiagramParallelB(); break; case WeldGroup.WShapeA: PrintDiagramWShapeA(); break; case WeldGroup.WShapeB: PrintDiagramWShapeB(); break; case WeldGroup.Rectangle: PrintDiagramRectangle(); break; default: Console.WriteLine("\n INVALID SELECTION"); break; } Console.WriteLine("Confirm Weld Type (\"y\")"); Console.WriteLine(""); Console.WriteLine("Press any key to return to Main Menu:"); Console.WriteLine(""); // Wait for enter: string input = Console.ReadLine(); if (input == "y" || input == "Y") menuState = State.EnterProperties; else menuState = State.MainMenu; } else if (menuState == State.EnterProperties) { Console.Clear(); PrintPropertiesMenu(weldGroup); // Wait for enter: string input = Console.ReadLine(); string val = ""; bool entering = true; while (entering == true) { switch (input) { case "1": Console.WriteLine("Enter value for \"b\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } b = float.Parse(val); break; case "2": Console.WriteLine("Enter value for \"d\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } d = float.Parse(val); break; case "3": Console.WriteLine("Enter value for \"Pa\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } Pa = float.Parse(val); break; case "4": Console.WriteLine("Enter value for \"Pb\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } Pb = float.Parse(val); break; case "5": Console.WriteLine("Enter value for \"Pc\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } Pc = float.Parse(val); break; case "6": Console.WriteLine("Enter value for \"Ma\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } Ma = float.Parse(val); break; case "7": Console.WriteLine("Enter value for \"Mb\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } Mb = float.Parse(val); break; case "8": Console.WriteLine("Enter value for \"Mc\": "); val = Console.ReadLine(); if (val == "") { entering = false; break; } Mc = float.Parse(val); break; case "9": Console.WriteLine("Enter Allowable Stress: "); val = Console.ReadLine(); if (val == "") { entering = false; break; } allowableStress = float.Parse(val); entering = false; break; case "b": case "B": menuState = State.MainMenu; entering = false; break; case "c": case "C": entering = false; if (b <= 0 || d <= 0) { Console.WriteLine("Weld dimensions must be greater than zero"); Console.ReadLine(); break; } if (allowableStress <= 0) { Console.WriteLine("Allowable Stress must be greater than zero"); Console.ReadLine(); break; } menuState = State.Calculating; break; case "q": case "Q": quit = true; entering = false; continue; default: Console.ReadLine(); entering = false; break; } if (entering == true) { int iInput = int.Parse(input) + 1; input = iInput.ToString(); } } } else if (menuState == State.Calculating) { Console.Clear(); PrintCalculatingHeader(); switch (weldGroup) { case WeldGroup.ParallelA: PerformCalculationsParrallelA(); break; case WeldGroup.ParallelB: PerformCalculationsParrallelB(); break; case WeldGroup.WShapeA: PerformCalculationsWShapeA(); break; case WeldGroup.WShapeB: PerformCalculationsWShapeB(); break; case WeldGroup.Rectangle: PerformCalculationsRectangle(); break; } PrintCalculationResults(); // Wait for enter: string input = Console.ReadLine(); switch (input) { case "": menuState = State.EnterProperties; break; default: // For now, just default to returning to properties // menu menuState = State.EnterProperties; // quit = true; break; } } } }