/// <summary> /// Run an infinite loop until "break." /// </summary> public void Run() { while (true) { Console.WriteLine("Welcome to Vendo-Matic 500!"); Console.WriteLine("Please make a choice."); Console.WriteLine("1. Display Vending Machine items."); Console.WriteLine("2. Purchase."); Console.WriteLine("3. Quit."); Console.WriteLine("> Please Pick One: "); string choice = Console.ReadLine(); if (choice == "1") { DisplayMenu displayMenu = new DisplayMenu(); displayMenu.Run(vm.inventory); } else if (choice == "2") { PurchaseMenu purchaseMenu = new PurchaseMenu(); purchaseMenu.Run(vm); } else if (choice == "3") { break; } else { Console.WriteLine("Invalid option."); Console.ReadLine(); } } }
public void Run() { VendingMachine vm = new VendingMachine(); while (true) { Console.Write(@" Welcome, Hungry One. Please select an option. (1) Display Vending Item Selection (2) Purchase Item (3) Exit Vendomatic 800 Enter your option here: "); string input = Console.ReadLine().Trim(); Console.Clear(); if (input == "1") { Console.Clear(); Console.WriteLine("Display vending machine items"); Console.WriteLine(); vm.DisplayItems(); Console.WriteLine(); Console.WriteLine("Press enter to continue"); Console.ReadLine(); Console.Clear(); } else if (input == "2") { // Simplifying to call a new purchase menu using this info so it sends the user to that menu from here Console.Clear(); PurchaseMenu pm = new PurchaseMenu(vm); pm.Run(); } else if (input == "3") { Console.WriteLine("Goodbye!"); break; } else if (input == "4") { vm.PrintSalesReport(); } else { Console.WriteLine($"{input} is invalid. Please enter 1, 2, or 3. Thank you!"); } } }
/// <summary> /// RUns the menu /// </summary> /// <param name="machine">machine menu is running on</param> public virtual void Run(VendingMachine machine) { this.vM500 = machine; while (true) { string choice = string.Empty; while (choice != "1" && choice != "2" && choice != "Q") { Console.Clear(); Console.WriteLine("Welcome to the Vendo-Matic 500!"); Console.WriteLine(); Console.WriteLine("1. Display Vending Machine Items"); Console.WriteLine("2. Purchase"); Console.WriteLine("Q. Quit"); Console.Write("Please make a selection: "); choice = Console.ReadLine().ToUpper(); } switch (choice) { case "1": this.DisplayInventory(this.vM500); Console.ReadLine(); break; case "2": PurchaseMenu pm = new PurchaseMenu(); pm.Run(this.vM500); break; case "Q": this.SalesReport(); return; default: break; } } }