public static int SelectFlashcardActionMenu(Flashcard flashcardObj) { bool validInput = false; while (true) { Console.WriteLine("\n\n\n\n"); Console.WriteLine("========================"); Console.WriteLine(" Flashcard Options "); Console.WriteLine("========================"); Console.WriteLine(); // Print options Console.WriteLine("Type the option you want for this flashcard."); Console.WriteLine("1. Edit front card"); Console.WriteLine("2. Edit back card"); Console.WriteLine("3. Remove card"); // Record user input Console.Write("Enter input here: "); string userInput = Console.ReadLine(); // Check if user input is a whole number validInput = Int32.TryParse(userInput, out int parsedUserInput); // Return user input if valid, else ask user to try again if (validInput) { return(parsedUserInput); } else { Console.WriteLine("Incorrect input. Please type in a valid numerical choice."); } } }
// Remove flashcard public void RemoveFlashcard(Flashcard flashcardObj) { Console.WriteLine("Flashcard with \"{0}\" in the front and \"{1}\" on the back has been removed\n", flashcardObj.FrontCard, flashcardObj.BackCard); FlashcardList.Remove(flashcardObj); }
static void Main(string[] args) { DeckCollection.PreMadeDeck(); while (true) { // Initialize variables bool exit = false; int userChoice; string userInput; // Display menu and store userInput userChoice = Menu.CollectionMenu(); // Execute user's choice switch (userChoice) { // Select Deck case 1: // Get deck Deck deckObj = Menu.SelectDeckMenu(); // Execute action userChoice = Menu.SelectDeckActionMenu(deckObj); switch (userChoice) { // Study Deck case 1: userChoice = Menu.StudyDeckMenu(deckObj); switch (userChoice) { // Study in original order case 1: deckObj.OriginalOrder(); break; // Study in shuffle mode case 2: deckObj.Shuffle(); break; default: Menu.IncorrectSelectionMenu(); break; } break; // Edit Deck case 2: userChoice = Menu.EditDeckMenu(deckObj); switch (userChoice) { // Edit deck name case 1: userInput = Menu.EditDeckNameMenu(); deckObj.EditDeckName(userInput); break; // Edit flashcard case 2: // Get flashcard Flashcard flashcardObj = Menu.SelectFlashcardMenu(deckObj); // Select action userChoice = Menu.SelectFlashcardActionMenu(flashcardObj); switch (userChoice) { // Edit front card case 1: userInput = Menu.EditFrontCardMenu(); flashcardObj.EditFrontCard(userInput); break; // Edit back card case 2: userInput = Menu.EditBackCardMenu(); flashcardObj.EditBackCard(userInput); break; // Remove card case 3: deckObj.RemoveFlashcard(flashcardObj); break; default: Menu.IncorrectSelectionMenu(); break; } break; // Add flashcard case 3: // newFlashcard[0] = front, newFlashcard[1] = back string[] newFlashcard = new string[2]; newFlashcard = Menu.AddFlashcardMenu(); deckObj.AddFlashcard(newFlashcard[0], newFlashcard[1]); break; default: Menu.IncorrectSelectionMenu(); break; } break; // Remove Deck case 3: DeckCollection.RemoveDeck(deckObj); break; default: Menu.IncorrectSelectionMenu(); break; } break; // Add deck case 2: string newDeckName = Menu.AddDeckMenu(); DeckCollection.AddDeck(newDeckName); break; // Exit program case 3: exit = true; break; default: Menu.IncorrectSelectionMenu(); break; } if (exit) { Menu.ExitProgram(); break; } Console.WriteLine("\n\n\n\n"); } }