Dici in questo modo??, ma mi stampa solo il primo elemento e poi mi va in errore
codice:
#include <iostream>
using namespace std;

struct lista
{
    int num;
    lista *punt; 
};


int main()
{
    lista *x,*T;
    int y;
    char ins;
    
    lista p;
    cout <<"Inserisci il numero = "; 
    cin >> p.num;
   
    x=p.punt;          //conservo il campo puntatore            
    cout <<"Devi inserire ? (s/n) = ";
    cin >>ins;
    
    while (ins=='s' || ins=='S')    //inserimenti in coda alla LISTA
    { 
     lista *q = new lista;
     cout <<"Inserisci il numero = ";
     cin >> q->num;
     q->punt=NULL;   
     x=q; 
     x=q->punt;  
     cout <<"Devi inserire ? (s/n) = ";
     cin >>ins; 
     if (ins=='n' || ins=='N')
                              q->punt=NULL;
    }

    T=&p;
	while(T) 
	{
		cout<<T->num<<endl;;
		T=T->punt;
	}
    system("PAUSE");
}