hola, ya esta solucionado, era esto
;
inic_lista();
opcion=menu(); <------------- estaba fuera del do-while
do{
switch(opcion){
case '1': intro();
break;
case '2': borrar();
break;
case '3': listar();
break;
case '4': break;}
}while(opcion!=4);
}
salu2