Ciao! Grazie per avermi risposto, e per la pazienza nell'aver testato
Sulla funzione di inserimento ho avuto qualche dubbio. Ho provato a implementare la funzione di inserimento per le liste "semplici", lineari e il parametro da restituire seppur un void non influiva. Il problema più grande è nel caricamento, perchè il file da caricare è unico, le prime tre righe devono essere caricate nel nodo della lista esterna(b.informazione), e le altre 3 sono riferite al conducente, quindi c.informazione. Ho fatto due funzioni di inserimento come hai visto una per bus, una per conducente e le richiamo subito dopo la lettura del file, nella funzione di caricamento stessa. Per semplificarmi il tutto, invece di fare una funzione per il caricamento, posso farne due?
Mi spiego, come posso leggere solo le prime 3 per inserire in una lista e le altre 3 nell'altra?

codice:
lista_bus caricamento(lista_bus *lis){    FILE *fp;
    bus b;
    cond c;
    lista_bus point=NULL;
    fp=fopen("archivio.txt","r");
    if(fp==NULL){
        perror("");
        exit(1);
    }
	while(fscanf(fp,"%s%d%d%s%d%d",b.targa,&b.posti,&b.km,c.nome,&c.percorso,&c.giorni) != EOF){
          point=inserimento_bus(lis,b);
		  inserimento_cond((*lis)->punt_interno,c);
    }
    fclose(fp);




    return point;
}
questo è quello che avevo immaginato all'inizio.

questo è il tipo di file da caricare:

AX111CX Targa
54
Numero di posti
10435
km
Paperino
nome del conduttore (senza spazi bianchi)
2
numero di giorni
1 tipo di percorso[1 urbano 0 extraurbano]