Здравствуйте, возник вопрос как заполнить список из файла. Имеется структура, список двусвязный.
struct Students{
string surname;
int number;
float average_point;
string study;
Students *Next, *Prev;
};
Я попробовал сделать таким способом, но не удачно, список не выводится.
ifstream fin ("sgl.txt");
Students *tmp=new Students;
tmp->Next=NULL;
fin>> tmp->average_point
>> tmp->number
>> tmp->surname;
count ++;
if (!head){
tmp->Prev=NULL;
head=tmp;
tail=head;
}
else{
tmp->Prev=tail;
tail->Next=tmp;
tail=tmp;
}
}
Вообщем наверно не самый лучший метод. Сначала считываем в структуру (мне по заданию нужно было), а потом просто присваиваем элементам списка соответствующие элементы из структуры.
ifstream fin("sgsec.txt");
if (!fin){
cout << "File can't be open";
}
else{
list2 = new Students[C];
for (int i=0; i<C; i++){
fin >> list2[i].surname
>> list2[i].number
>> list2[i].average_point
>> list2[i].study;
Students *tmp=new Students;
tmp->Next=NULL;
tmp->average_point=list2[i].average_point ;
tmp->number= list2[i].number;
tmp->surname=list2[i].surname ;
count ++;
if (!head){
tmp->Prev=NULL;
head=tmp;
tail=head;
}
else{
tmp->Prev=tail;
tail->Next=tmp;
tail=tmp;
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники