Website Summary Files Commits Branches @commit @diff @stats
path: root / src / ConsoleInterface
diff options
context:
space:
mode:
Commit1ad57c16e2532cc7db63b3b2c0277d0c9f6762c3 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 14:53:52 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-05 14:53:52 +0300
Files976119cd34950816a5924f4d0a15f4fd12b092a7 /src/ConsoleInterface
FMI-OOP-P1_TicketSystem-1ad57c16e2532cc7db63b3b2c0277d0c9f6762c3.tar
FMI-OOP-P1_TicketSystem-1ad57c16e2532cc7db63b3b2c0277d0c9f6762c3.tar.gz
FMI-OOP-P1_TicketSystem-1ad57c16e2532cc7db63b3b2c0277d0c9f6762c3.zip
Parent3c9d6978de070bf699d295ff5319857252a7561b (diff)
Autocommit at 05.05.2022 @ 14:53
3 files changed, 9 insertions, 6 deletions
-rw-r--r--src/ConsoleInterface/Menu.cpp7
-rw-r--r--src/ConsoleInterface/Toolbox.cpp4
-rw-r--r--src/ConsoleInterface/Toolbox.hpp4
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp
index bf746e4..cfed9fa 100644
--- a/src/ConsoleInterface/Menu.cpp
+++ b/src/ConsoleInterface/Menu.cpp
@@ -29,8 +29,11 @@ void Menu::navigate() const {
print(menuOptions.get_count());
print("]: ");
read(buffer);
+ buffer++;
- if (++buffer > 0)
- menuOptions[buffer - 1].run();
+ if (buffer - 2 > menuOptions.get_count())
+ printError("Invalid menu option!");
+ else
+ menuOptions[buffer - 2].run();
}
}
diff --git a/src/ConsoleInterface/Toolbox.cpp b/src/ConsoleInterface/Toolbox.cpp
index 84842e4..20f07db 100644
--- a/src/ConsoleInterface/Toolbox.cpp
+++ b/src/ConsoleInterface/Toolbox.cpp
@@ -10,12 +10,12 @@ void _printOrderedListBeginning() {
std::cout << orderedListIndex++ << ". ";
}
-void inputBoxLabel(const char* label) {
+void _printInputBoxLabel(const char* label) {
std::cout << "+ " << label;
}
void inputLineBox(const char* label, char* output, unsigned maxWidth) {
- inputBoxLabel(label);
+ _printInputBoxLabel(label);
std::cin.getline(output, maxWidth);
}
diff --git a/src/ConsoleInterface/Toolbox.hpp b/src/ConsoleInterface/Toolbox.hpp
index 1d360cb..b75b597 100644
--- a/src/ConsoleInterface/Toolbox.hpp
+++ b/src/ConsoleInterface/Toolbox.hpp
@@ -46,11 +46,11 @@ void printOrderedListElem(const T& elem) {
void resetOrderedList(int starter = 1);
-void inputBoxLabel(const char* label);
+void _printInputBoxLabel(const char* label);
template <typename T>
void inputBox(const char* label, T* output) {
- inputBoxLabel(label);
+ _printInputBoxLabel(label);
std::cin >> *output;
}