Строковая переменная не будет принимать новое значение из getline () в цикле - PullRequest
0 голосов
/ 23 января 2019

Я разбираю данные из файла и заполняю массив структур строковой переменной, переменной типа float и int.Я использую операторы if в первом символе моей строки getline () для проверки ее типа, затем либо объявляю строку как значение getline, либо использую stof или stoi для преобразования значения getline () в float / int.Программа передает новые значения в циклы float и int, но многократно передает первую найденную строку в мою функцию конструктора.Любая помощь в этом вопросе будет принята с благодарностью.

int length=0;
string _username;
float _gpa;
int _age;
string line;
while(into.eof()==false)
{
    getline(into, line, ',');
    if(line.at(0)>'9')
    {
        _username=line;
    }
    if(line.at(1)=='.')
    {
      _gpa=stof(line);
    }
    if(line.at(0)<='9' && line.at(1)!='.' && line.at(0)>='0')
    {
      _age=stoi(line);
      users[1000].addUser(users, _username, _gpa, _age, length);
      length++;
    }
}

Если имена пользователей должны читаться: Марк, Чак, Сара, этот код вместо этого будет создавать имена пользователей как: Марк, Марк, Марк

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