Cześć. Za zadanie mam ułożenie danych z pliku tekstowego do listy jednokierunkowej. Wszystko okej, tworzę strukturę i próbuje załadować pliki po kolei do odpowiednich kategorii.
int main()
{
struct node* head = NULL, * tmp = NULL;
ifstream myFile;
myFile.open("eurovision.txt");
if (!myFile.good()){
cout << "Something went wrong" << endl;
return 0;
}
tmp = new struct node;
head = tmp;
while (myFile >> tmp->year >> tmp->country >> tmp->song >> tmp->name >> tmp->language) {
tmp->next = NULL;
tmp = tmp->next;
tmp = new struct node;
}
for (tmp = head; tmp; tmp = tmp->next) {
cout << tmp->year << " " << tmp->country << " " << tmp->song << " " << tmp->name << " " << tmp->language << endl;
}
return 0;
}
Problem jest taki, że poprawnie wyświetla mi się pierwsza linijka, wszystko tk jak powinno, ale na tym się kończy. Kolejne linijki już nie są wyświetlane. Rozumiem, że problem jest w tej pętli while? Zdaję się, że na końcu tworzę jeden nowy pusty element, ale głowie się już kilka godzin i nadal nie wiem jak mogę to zmienić