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 :
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);
Queste sono le mie funzioni:
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