Есть код.
#include
int main(int argc, char* argv[] )
{
int error = 0;
int num = 0;
for (std::string day; std::cin >> day;)
{
if (day == "|") break;
try
{
std::cin >> num;
if (!std::cin)
{
std::cin.ignore(std::numeric_limits
");
}
}
catch (std::exception)
{
std::cerr << "Input error
";
error += 1;
}
}
return 0;
}
Почему при нажатии CTRL + C в 16 строке происходит выход из цикла, да и вообще выход из main. Хотя оператор if в 17 строке срабатывает.
Ответ
Дело в том, что при нажатии CTRL+C в консоли система останавливает запущенное приложение. Это действие по умолчанию, и может быть настроено (как - зависит от вашей ОС). Именно поэтому программа завершается.
Комментариев нет:
Отправить комментарий