Ciao, ti darei due consigli.
Leggendo quello che scrivi sembra quasi che sia la prima volta che usi una lista concatenata, è così?
Se così fosse, e tu non stessi facendo tutto questo proprio per studiare le liste, ti consiglierei di studiare le liste a parte e poi una volta che le conosci bene importarne l'uso nel tuo programma.
C'è poi da dire un'altra cosa, se non sei legato al C da qualche motivo, fare tutto questo in C++ sarebbe infinitamente più semplice e breve, vedi questo esempio che ti faccio:
codice:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main ()
{
vector<string> righe;
string riga;
cout << "inserisci le righe e interrompi con exit" << endl;
while (getline(cin, riga) && riga != "exit")
righe.push_back(riga);
cout << "righe contiene: " << endl;
for (unsigned int i = 0; i < righe.size(); i++)
cout << righe[i] << endl;
return 0;
}
Ciao.