(C ++) Проверка ввода не работает должным образом - PullRequest
0 голосов
/ 06 апреля 2020

Я создал al oop, используя переменную "placeholder" только для создания al oop, чтобы я мог использовать "continue" с оператором if, который должен выдавать сообщение об ошибке и перезапускать l oop если число за пределами значений (1-7) введено, но оно не работает. Любая помощь приветствуется!

void PlayerOne(char d[ROW][COLUMN], int r[COLUMN])
{
    int rtemp, ctemp, mover;
    bool placeholder = true;

    do
    {
        cout << "Enter your mover (X): "; cin >> mover; cout << endl;

        if ((mover < 1) && (mover > 7))
        {
            cout << "ILLEGAL INPUT DETECTED" << endl;
            continue;
        }

        rtemp = r[mover];
        ctemp = mover - 1;

        d[rtemp][ctemp] = 'X';

        r[mover]--;

        if (placeholder == true)
        {
            break;
        }

    } while (placeholder == true);

    return;
}

1 Ответ

2 голосов
/ 06 апреля 2020

Пожалуйста, отметьте эту строку

if ((mover <1) && (mover> 7))

Возможно ли перемещение меньше 1 и больше 7 одновременно? Это никогда не сбудется. Я думаю, что вы должны изменить двоичный операнд (например, "||" на "&&") или изменить сравнение. Я надеюсь, что этот ответ будет полезным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...