Il programma è molto semplice sto modificando un programma già caricato su questo forum per migliorarlo e esercitarmi sulle pile però non va e non capisco cosa sbaglio
Questo è il mio file txt
rossi
3321
lorenzo
3345
ferrante
2134
lorenzo
3345
Questo è la mia libreria :
Queste sono le mie funzioni:codice:#include <iostream> #include <cstdlib> #include <fstream> #include <cstring> using namespace std; #define N 100 typedef char Stringa [N]; typedef struct { Stringa Nome; int Numero; }Lista; typedef Lista *Nodo; void crea_lista(Nodo &L); void crea_nodo(Nodo , int, Stringa); void append(Nodo , int, Stringa ); void stampa_lista(Nodo L);
codice:#include "ordinamento.h" void crea_lista(Nodo &L){ fstream file; Stringa nome_file, Nome; int num; cin.getline(nome_file, N-1, '\n'); file.open(Nome, ios::in); if(!file){ cout<<"Inserimento nome file non trovato \n"; exit(1); }else{ file>>Nome; file>>num; crea_nodo(L, Nome, num); while(!file.eof()){ file>>Nome; file>>num; append(L, Nome, num) } } } void crea_nodo(Nodo &Temp, Stringa professore, int n){ Temp= new Lista; Temp->Nome=professore; Temp->Numero=n; Temp->next=NULL; } void append(Nodo &Testalista, int val, Stringa N){ Nodo prec, corr; if(Testalista==NULL){ crea_nodo(Testalista,N, val); }else{ corr=Testalista; prec=NULL; while(corr!NULL){ prec=corr corr=corr->next; } crea_nodo(prec->next, N, val); } } void stampa_lista(Nodo L){ while(L!=NULL){ cout<<" \n"<<L->Nome; cout<<" \n"<<L->Numero; L=L->next=NULL; } }
Questo e il mio main
codice:#include "ordinamento.h" int main{ Nodo L1; crea_lista(L1); stampa_lista(L1); }
Questi sono gli errori :
Immagine.jpg

Rispondi quotando