(Проверка ввода для нескольких cin) есть ли какой-нибудь способ сжать этот код?
Я хочу добавить в эту программу функцию проверки входных данных,в которой пользователь присваивает значения 4 переменным. В настоящее время у меня есть оператор if после каждого запроса для пользователя ввести значение. Должен ли я включать этот код после каждого запроса или есть способ упростить это? Не срочно, но любопытно.
int main() { double ux, uy, vx, vy, angle_rad, angle_deg, angle; string error = "Error: please enter valid components for the vectors."; cout << "Please enter the x-component of vector u: "; cin >> ux; if (cin.fail()) { cout << endl << error << endl << endl; return 1; } cout << endl << "Please enter the y-component of vector u: "; cin >> uy; if (cin.fail()) { cout << endl << error << endl << endl; return 1; } cout << endl << "Please enter the x-component of vector v: "; cin >> vx; if (cin.fail()) { cout << endl << error << endl << endl; return 1; } cout << endl << "Please enter the y-component of vector v: "; cin >> vy; if (cin.fail()) { cout << endl << error << endl << endl; return 1; }
Что я уже пробовал:
Я попытался поместить только одну строковую ошибку в конце всех приглашений, однако, как только будет получен неверный ввод, он все равно покажет другие дисплеи cout перед отображением Строковой ошибки.
Peter_in_2780
Очень похоже на случай с подпрограммой.