Получение ошибки в операторе while (строка 40), где «ввод не объявлен в этой области» c ++ - PullRequest
2 голосов
/ 28 июня 2019

Не уверен, почему цикл while не работает, хотя я думаю, что я указал, какой ввод был ранее в коде.

#include <iostream>

using namespace std;

int main()
{
    do
    {
        cout<<"1. \tOpen File"<<endl;
        cout<<"2. \tClose File"<<endl;
        cout<<"3. \tExit"<<endl;

        int input;
        cin >> input;

        cout<<"Select and option:   "<<endl;

        switch(input)
        {
        case 1:
            cout<<"Opening File"<<endl;
            break;
        case 2:
            cout<<"Closing File"<<endl;
            break;
        case 3:
            cout<<"Exiting..."<<endl;
            break;
        default:
            cout<<"Invalid Entry"<<endl;
        }
    }
    while (input < 1 || input > 3);

    return 0;
}

Я ожидаю, что программа запросит мой ввод, и если тип введен неправильно, программа повторится

1 Ответ

8 голосов
/ 28 июня 2019

input локализован в теле цикла, поэтому его нельзя использовать в условном выражении .

Объявить его вне цикла, т. Е. До do.

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