чтение строки за строкой в ​​c ++ с while l oop внутри другого цикла while - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблема в следующем коде:

int main()
{
    string store;
    ofstream ip, ipa;
    bool ai = true;
    string catch, container, contain;
    ifstream datbot("database.txt"), datbrot("datafloor.txt");
    string chats, train;
    int loop = 0, c = 0;
    cout << "->>hi! I AM ALPHA" << endl;
    while (datbot.good())  //first loop
    {
        while (ai)  //second loop
        {
            loop = 0;
            c++;
            cout << c << ">>";
            // USER INPUT
            getline(cin, chats);
            // DATABASE LOOP CONTROL            
            unsigned int count = 0;
            // DATAFLOOR LOOP CONTROL
            unsigned int number = 0;

            while (loop == 0)  // third loop
            {
                loop++;
                cout << 'i' << endl;

                while (getline(datbot, container))  // final loop
                {
                    // cout << "pr" << endl;
                    count++;
                    catch = container;
                    // JUDGMENT TIME
                    if (catch == chats)
                    {
                        //LOOP OF HELL
                        while (getline(datbrot, contain))
                        {
                            num++;
                            // JUDGMENT TIME
                            if (number == count)
                                cout << "->>" << contain << endl;
                        }
                    }
                }
            }
        }
    }
}

Как вы можете видеть из моего кода, существует четыре основных цикла while; последний l oop - это l oop для сбора по одной строке за раз, и, во-первых, он работает отлично. Однако это правда и доступно только при первом запуске. Затем он пропускается, пока программа еще работает, а другие циклы продолжают цикл.

Таким образом, мой вопрос таков: «Есть ли способ сохранить доступ к l oop, когда он будет достигнут третьим l oop, пока программа еще работает, или я могу оставить l oop ложь после того, как она вернула истину? "

...