Uhm..guarda, nel frattempo che tu mi rispondevi, io ho provato ad impostarlo in questo modo..
//dichiarazione struttura lista e variabili puntatore//
struct nodo
{
int num;
struct nodo* succ;
};
nodo* testa=NULL;
nodo* nuovo;
nodo* coda=NULL;
nodo* succ;
nodo* prec;
//inserimento//
case 1:
{
if((testa==NULL)&&(coda=NULL))
{
nuovo=new nodo;
cout<<"inserisci elemento"<<"\n";
cin>>nuovo->num;
nuovo->succ=testa;
testa=nuovo;
coda=nuovo;
}
else
{
prec=succ;
succ=new nodo;
cout<<"inserisci elemento"<<"\n";
cin>>succ->num;
succ->succ=NULL;
coda=succ;
}
break;
}
//estrazione//
case 2:
{
if(testa=NULL)
cout<<"pila vuota"<<"\n";
else
{
cout<<"l'elemento estratto e':"<<"\n";
cout<<coda->num<<"\n";
coda=prec;
}
break;
}
Risultato: se inserisco 3 elementi (es.3-4-5), mi estrae il primo e poi sempre il secondo (es. prima il 5 e poi sempre il 4..)..sento di essere vicino alla soluzione..