Website Summary Files Commits Branches @commit @diff @stats
path: root / src / ConsoleInterface / Menu.cpp
diff options
context:
space:
mode:
Commit07fbeaaccc82465b5b6eb5c8e435da10ebb369a3 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-01 10:16:13 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-01 10:16:13 +0300
Files4d978cb4b5ad65109cba859d8a8cae55811d99f7 /src/ConsoleInterface/Menu.cpp
FMI-OOP-P1_TicketSystem-07fbeaaccc82465b5b6eb5c8e435da10ebb369a3.tar
FMI-OOP-P1_TicketSystem-07fbeaaccc82465b5b6eb5c8e435da10ebb369a3.tar.gz
FMI-OOP-P1_TicketSystem-07fbeaaccc82465b5b6eb5c8e435da10ebb369a3.zip
Parent5ad7df7c98e9bd891ea5ec813d375ae4e16f1423 (diff)
Autocommit at 01.05.2022 @ 10:16
1 files changed, 13 insertions, 1 deletions
-rw-r--r--src/ConsoleInterface/Menu.cpp14
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp
index 2589f5b..27471a6 100644
--- a/src/ConsoleInterface/Menu.cpp
+++ b/src/ConsoleInterface/Menu.cpp
@@ -1,10 +1,22 @@
#include "Menu.h"
#include "Toolbox.h"
+Menu::Menu(const Command* commands, unsigned commandCount) {
+ menuOptions = List<Command>();
+ for (unsigned i = 0; i < commandCount; i++)
+ menuOptions.add(commands[i]);
+}
+
void Menu::navigate() const {
resetOrderedList();
for (unsigned i = 0; i < menuOptions.get_count(); i++)
printOrderedListElem(menuOptions[i].get_nameInMenu());
- std::cout << "Execute No [0-" << menuOptions.get_count() << "]: ";
+ unsigned buffer = 0;
+ while (0 == buffer || buffer >= menuOptions.get_count()) {
+ std::cout << "Execute No [0-" << menuOptions.get_count() << "]: ";
+ std::cin >> buffer;
+ }
+
+ menuOptions[buffer - 1].run();
}