C ++ - чтение нескольких строк данных из .txt и сохранение их в соответствующих объектах - PullRequest
0 голосов
/ 01 мая 2019

Я должен создать базовую «Систему бронирования зала» для моего проекта. Поэтому я создал класс под названием зал. А потом делали предметы для каждого из залов. Я хотел прочитать данные, хранящиеся в файле Input.txt, и назначить их членам объекта.


class hall
{
public:
    char user[7][30];
    int stat[7];

    hall()
    {

        read_in();

    }

private:

    void read_in()
    {
        fstream file;
        file.open("Input.txt");
        for (int i = 0; i <= 6; i++)
        {

                file >> (stat[i]);
                file.getline(user[i], 30, '\0');

        }
    }


}a1[4] = { hall(),hall(),hall(),hall()}, a2[2] = { hall(),hall() }, b1[3] = { hall(),hall(),hall() }, b2[2] = { hall(),hall() };

Мой Input.txt выглядит следующим образом :( «Нет» может быть заменено именем пользователя произвольной длины, которое меньше 25 символов)

1 Nonea111 1 Nonea112 1 Nonea113 1 Nonea114 1 Nonea115 1 Nonea116 1 Nonea117
1 Nonea121 1 Nonea122 1 Nonea123 1 Nonea124 1 Nonea125 1 Nonea126 1 Nonea127
1 Nonea131 1 Nonea132 1 Nonea133 1 Nonea134 1 Nonea135 1 Nonea136 1 Nonea137
1 Nonea141 1 Nonea142 1 Nonea143 1 Nonea144 1 Nonea145 1 Nonea146 1 Nonea147
1 Nonea211 1 Nonea212 1 Nonea213 1 Nonea214 1 Nonea215 1 Nonea216 1 Nonea217
1 Nonea221 1 Nonea222 1 Nonea123 1 Nonea224 1 Nonea225 1 Nonea226 1 Nonea227
1 Noneb111 1 Noneb112 1 Noneb113 1 Noneb114 1 Noneb115 1 Noneb116 1 Noneb117
1 Noneb121 1 Noneb122 1 Noneb123 1 Noneb124 1 Noneb125 1 Noneb126 1 Noneb127
1 Noneb131 1 Noneb132 1 Noneb133 1 Noneb134 1 Noneb135 1 Noneb136 1 Noneb137
1 Noneb211 1 Noneb212 1 Noneb213 1 Noneb214 1 Noneb215 1 Noneb216 1 Noneb217
1 Noneb221 1 Noneb222 1 Noneb223 1 Noneb224 1 Noneb225 1 Noneb226 1 Noneb227

Я хочу, чтобы программа прочитала данные в первой строке и присвоила их a1 [0]. Затем прочитайте вторую строку и назначьте данные для [1] и так далее. Но программа читает только первую строку и присваивает ее первому объекту, а от второго объекта к последнему объекту все переменные присваиваются 0s.

Мой вывод: (выводятся все переменные объекта):

1 Nonea111 1 Nonea112 1 Nonea113 1 Nonea114 1 Nonea115 1 Nonea116 1 Nonea117
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0

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