C++ | Как сделать что бы пользователь смог по желанию покинуть код

Что бы выйти из цикла, нужно ввести 0, если что то другое, то продолжается. Но когда вводишь букву, то цикл выключается, как это предотвратить?

  int main() 
    {
        while (true) 
            {
            long long mul = 1;
            int rangeBegin = 10;
            int rangeEnd = 99;
            do {
                if (rangeBegin % 2 == 0 && rangeBegin % 5 == 0)
                {
                    mul *= rangeBegin;
                }
                rangeBegin++;
            } while (rangeBegin < rangeEnd);
            cout << "Multiplication= " << mul << endl;
            int val;
            cout << "Do you want to exit the program?" << endl;
            cin >> val;
            if (val == 0)
            {
                break;
            }
        }
    }

Ответы (1 шт):

Автор решения: Sergey Tatarincev

cin предполагает преобразование типов, а поскольку val имеет тип целое число, при преобразование возвращает 0 (точно также как и atoi)

Измените тип val на символьный/строковый. например так:

        char val;
        cout << "Do you want to exit the program?" << endl;
        cin >> val;
        if (val == '0')
        {
            break;
        }
→ Ссылка