public void RunProgram() { int nChoice; theList = new MultiLinkedListOfBooks(); do // main loop { Console.WriteLine("Your options:"); Console.WriteLine("{0} : End the program", (int)MenuOptions.QUIT); Console.WriteLine("{0} : Add a book", (int)MenuOptions.ADD_BOOK); Console.WriteLine("{0} : Print all books (by author)", (int)MenuOptions.PRINT_BY_AUTHOR); Console.WriteLine("{0} : Print all books (by title)", (int)MenuOptions.PRINT_BY_TITLE); Console.WriteLine("{0} : Remove a Book", (int)MenuOptions.REMOVE_BOOK); Console.WriteLine("{0} : RUN TESTS", (int)MenuOptions.RUN_TESTS); if (!Int32.TryParse(Console.ReadLine(), out nChoice)) { Console.WriteLine("You need to type in a valid, whole number!"); continue; } switch ((MenuOptions)nChoice) { case MenuOptions.QUIT: Console.WriteLine("Thank you for using the multi-list program!"); break; case MenuOptions.ADD_BOOK: this.AddBook(); break; case MenuOptions.PRINT_BY_AUTHOR: theList.PrintByAuthor(); break; case MenuOptions.PRINT_BY_TITLE: theList.PrintByTitle(); break; case MenuOptions.REMOVE_BOOK: this.RemoveBook(); break; case MenuOptions.RUN_TESTS: AllTests tester = new AllTests(); tester.RunTests(); break; default: Console.WriteLine("I'm sorry, but that wasn't a valid menu option"); break; } } while (nChoice != (int)MenuOptions.QUIT); }