diff options
fix(cli): Simplify implementation of readUserInput
1 files changed, 9 insertions, 9 deletions
| -rw-r--r-- | src/cli.hpp | 18 |
diff --git a/src/cli.hpp b/src/cli.hpp index 9a2ca64..6fa9c1b 100644 --- a/src/cli.hpp +++ b/src/cli.hpp @@ -7,18 +7,18 @@ namespace cli { template <typename T> void readUserInput(T& outValue, const char* enter_message, const char* error_message) { - do { + std::cout << enter_message; + std::cin >> outValue; + + while (std::cin.fail()) { + std::cerr << error_message << std::endl; + + std::cin.clear(); + std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); + std::cout << enter_message; std::cin >> outValue; - if (std::cin.fail()) { - std::cerr << error_message << std::endl; - std::cin.clear(); - std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); - continue; - } - break; - } while (true); } } |