#include "io.h" void clearBuffer() { while ((getchar()) != '\n'); } char* inputString(int maxLen) { char* result = new char[maxLen]; while (true) { if (scanf_s("%[^\n]", result, maxLen) != 1) { clearBuffer(); printf("Некорректный ввод! Максимальная длина строки %d символов. Пожалуйста, попробуйте ещё раз.\n", maxLen - 1); continue; } break; } clearBuffer(); return result; } int inputNumber(int minVal, int maxVal) { int result; while (true) { if (scanf("%d", &result) != 1) { clearBuffer(); printf("Некорректный ввод! Пожалуйста, попробуйте ещё раз.\n"); continue; } else if (result < minVal || result > maxVal) { printf("Некорректный ввод! Пожалуйста, введите число от %d до %d.\n", minVal, maxVal); continue; } break; } clearBuffer(); return result; } int inputNumber(int minVal) { int result; while (true) { if (scanf("%d", &result) != 1) { clearBuffer(); printf("Некорректный ввод! Пожалуйста, попробуйте ещё раз.\n"); continue; } else if (result < minVal) { printf("Некорректный ввод! Пожалуйста, введите число больше %d.\n", minVal); continue; } break; } clearBuffer(); return result; } bool userApprove() { while (true) { char* userInput = inputString(4); if (std::strcmp(userInput, "yes") == 0 || std::strcmp(userInput, "y") == 0) { return true; } else if (std::strcmp(userInput, "no") == 0 || std::strcmp(userInput, "n") == 0) { return false; } else { printf("Пожалуйста, введите yes (y) или no (n).\n"); } } return false; } void waitForEnter() { while ((getchar()) != '\n'); }