• Дарова народ,есть вопрос.
    Язык - С++
    У меня есть текстовый файл в котором содержится информация допустим о студентах. ФИО,предметы и оценки - всё записываеться в ряд для одного студента и через пробел .Пример:
    Тимошенко Валерий Петрович Физика 5 3 4
    Мормуль Дмитрий Васильевич Математика 4 4 4
    .....
    Как считать с этого файла данные и занести в структуру
    Struct Student{... ... ...}
    и потом нужно будет обращаться к этому массиву векторов и выводить некоторые данные на экран.
    Так как считать этот файлик?

Ответы 5

  • Это классно что обычным массивом сделал но с ним работать я более менее умею а вот с векторами есть некоторые проблемы)
    • Автор:

      kaylabarx
    • 5 лет назад
    • 0
  • А в чём проблема? Копируем инфу в созданную нами переменную с типом твоей структуры, а потом эту структуру пуш бэком добавляешь в вектор.
  • string temp; while(fin.eof()) { fin >> f.name; fin >> f.surname; my.push_back(f); }
    • Автор:

      frida
    • 5 лет назад
    • 0
  • Добавь в телеге ) +380953449754 Есть один вопрос
    • Автор:

      oscarc0nt
    • 5 лет назад
    • 0
  • Когда заранее знаешь порядок становится намного легче.Вот к примеру простая структура.struct stud{     string name;     string surname;     string second_name;     string lesson;     int mark[3];};Далее мы с помощью библиотеки fstream создаём экземпляр класса "ifstream" и соединяем его с файлом.Пример: ifstream fin("myfile.txt);Потом в цикле считываем инфу с открытого файла.Вот пример для моей структуры.student m;  //создал переменную с типом моей структуры.while(!fin.eof()){     fin >> m.surname;     //считываю фамилию в структуру     fin >> m.name;     fin >> m.second_name;     fin >> lesson;     //а теперь оценки в инт, это уже будет сделать чуть сложнее.     //для этого считываем инфу в чаровый буфер и через atoi переводим     fin >> temp;          m.mark[0]=atoi(temp);          fin >> temp;          m.mark[1]=atoi(temp);          fin >> temp;          m.mark[2]=atoi(temp);}Что-то на подобии этого, я считывал инфу в свою структуру, но вы просто считывайте её в ваш вектор и всё.Обязательно в условии цикла поставить "!название вашего объекта.eof()".Ну и в конце закрыть файл методом .close();Прикрепил скрин с маленьким примером, ну и кинул как это работает с массивами. (с векторами это тоже отлично работает, просто мне лень)
    answer img
    • Автор:

      averiaonm
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years