che stupido... ho trovato l'errore da solo... posto il codice correto:
codice:
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
struct nodo{
char tel[10];
char cognome[10];
char nome[10];
nodo *sin,*des;
};
void inserisci (nodo *root, nodo *pn);
void stampa(nodo *root);
void main(){
nodo *testa = NULL, *temp = testa;
int i,n;
system("CLS");
cout<<"Digita quanti amici vuoi inserire nella tua rubrica: ";
cin>>n;
for(i=0;i<n;i++){
temp = new nodo;
cout<<"Digita il cognome del tuo amico: ";
cin>>temp->cognome;
cout<<"Digita il nome del tuo amico: ";
cin>>temp->nome;
cout<<"Digita il numero del tuo amico: ";
cin>>temp->tel;
cout<<endl;
temp->sin=NULL;
temp->des=NULL;
if(i!=0)
inserisci(testa,temp);
else
testa= temp;
}
stampa(testa);
delete testa;
system("PAUSE");
}
void inserisci (nodo *root,nodo *pn){
if (strcmp (root->cognome,pn->cognome)>=0)
if (root->sin==NULL)
root->sin=pn;
else
inserisci(root->sin,pn);
else
if (root->des==NULL)
root->des=pn;
else
inserisci(root->des,pn);
}
void stampa(nodo *root){
if(root!=NULL){
cout<<root->cognome;
stampa(root->sin);
stampa(root->des);
}
}
Non allocavo la memoria... sistemato tutto 
grazie