после срабатывания catch выходит из программы
#include <iostream>
void program1 ()
{
unsigned int a, b, s;
std::cout << "\nThe program for adding two natural numbers.\nEnter terms separated by spaces: ";
try
{
std::cin >> a >> b;
}
catch(...)
{
std::cout << "\nInput error!!!";
return;
}
if (a == 0 || b == 0)
{
std::cout << "\nInput error!!!";
return;
}
std::cout << "Sum = " << a + b;
}
int main()
{
bool answer;
program1();
std::cout << "\nOne more? (1 - yes, 0 - no): ";
std::cin >> answer;
if (answer)
{
main();
}
return 0;
}
когда срабатывает catch (например, вводятся буквы), программа выводит One more? (1 - yes, 0 - no):
, но не ждет ввода std::cin >> answer;
. подскажите, пожалуйста, как исправить.
Источник: Stack Overflow на русском