на
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <limits>
#include <string>
int getNaturalNumber(const std::string& prompt) {
int number;
while (true) {
std::cout << prompt;
std::cin >> number;
if (std::cin.fail() || number <= 0) {
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "Ошибка: Пожалуйста, введите натуральное число." << std::endl;
} else {
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
return number;
}
}
}
int main() {
srand(static_cast<unsigned int>(time(0)));
while (true) {
std::string input;
std::cout << "Введите минимальное значение диапазона (натуральное число) или 'exit' для выхода: ";
std::cin >> input;
if (input == "exit") {
break;
}
int min = std::stoi(input);
if (min <= 0) {
std::cout << "Ошибка: Пожалуйста, введите натуральное число." << std::endl;
continue;
}
int max;
while (true) {
std::cout << "Введите максимальное значение диапазона (натуральное число): ";
std::cin >> input;
if (input == "exit") {
return 0;
}
max = std::stoi(input);
if (max < min) {
std::cout << "Ошибка: Максимальное значение должно быть больше или равно минимальному." << std::endl;
} else {
break;
}
}
int random_number = min + rand() % (max - min + 1);
std::cout << "Случайное число: " << random_number << std::endl;
}
return 0;
}