Проверка ввода - GhosTbI4/Parall GitHub Wiki

Функция check_input() отвечает за ввод и проверку пользовательских данных. На вход принимает один аргумент: измерение(длину) прямоугольного параллелепипеда (a). Если введено допустимое значение(неотрицательное число), то функция возвращает данное число, в противном случае пользователю будет предложено повторить ввод.

float check_input(float a)
{
	while (true)
	{
		while (!(cin >> a) || (cin.get() != '\n'))
		{
			cin.sync();
			cin.clear();
			while (cin.get() != '\n');
			cout << "Введено не число! Попробуйте еще раз\n";
		}
		if (a > 0) break;
		else cout << "Измерения не могут быть отрицательными! Попробуйте еще раз\n";
	}
	return a;
}