setlocale(LC_ALL, "ru" работает только на вывод.
Ввод с консоли останется в кодировке 866.
"да" в 866 кодировке не равно "да" в 1251 (по умолчанию в visual studio).
используйте вместо него system("chcp 1251 > nul"
Ваш код не проверяет, что пользователь ввел "Да" или "Нет". Вместо этого, он проверяет, равно ли значение переменной "DaNetToPlay" строке "Да" или "да". Если пользователь вводит что-то другое, программа не знает, что делать, и выводит сообщение об ошибке.
Чтобы исправить это, вы можете использовать функцию "std::cin.ignore()" для пропускания любого дополнительного ввода, который может быть оставлен в буфере ввода после ввода пользователем. Затем вы можете использовать функцию "std::cin.clear()" для сброса флага ошибки и продолжить чтение ввода.