Здравствуйте, возник вопрос как заполнить список из файла. Имеется структура, список двусвязный.
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;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как вернуть меню что снизу экрана (Компилятор Ресурсы Журнал Компиляции) в Dev C++
Код записывает в массив остатки от деления, что бы перевести число в двоичную системуНо необходимо "перевернуть" числа
Программа делит число a на число b, если получившаяся дробь является бесконечной программа должна вывести на экран NO, иначе вывести получившуюся...