ho fatto questo...credo sia migliorata la situazione...ma ancora c'è qualcosa che non va...
codice:
int main()
{
    struct nodo
    {
        int ciao;
        nodo*next;
    };
    nodo*testa;
    nodo*aux;
    nodo*ptr;
    nodo*stampa;
    testa=aux;
    ptr=testa;

    do
    {
    aux=new nodo;
    ptr->next=aux;
    cin>>ptr->next->ciao;
    }while(ptr->next->ciao!=0);

    stampa=testa->next;
    do
    {
        cout<<stampa->ciao;
        stampa=stampa->next;
    }while(stampa->next->ciao==0);
    return 0;
}