Почему такая программа выполняется корректно:
#include <iostream>
using namespace std;
int main()
{
setlocale (0, "");
string first_name;
string answer;
do {
cout << "Are you Ivan?\n";
cin >> answer;
} while (answer != "no");
cout << "Please type your name and press enter:\n";
cin >> first_name;
cout << "Well hello, " << first_name << " :)\n";
}
А такая в упор не реагирует на ответ "нет":
#include <iostream>
using namespace std;
int main()
{
setlocale (0, "");
string first_name;
string answer;
do {
cout << "Ты Иван?\n";
cin >> answer;
} while (answer != "нет");
cout << "Введи своё имя и нажми enter:\n";
cin >> first_name;
cout << "Ну здорово, " << first_name << " :)\n";
}
setlocale() это такая коварная функция, которая меняет кодировку вывода, но с вводом все слегка сложнее... Можешь для примера просто вывести переменную с тем что ты вводишь, и сам увидишь что оно на самом деле считывает.
Попробуй использовать вместо этого system("chcp 1251 & cls") (изменение кодировки консоли на Windows 1251), не на всех ОС оно работает, но в основном да
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости