91 lines
1.6 KiB
C++
91 lines
1.6 KiB
C++
#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');
|
|
} |