Por favor! q alguien m diga q tengo q cambiar o añadir(si voy bien,claro!)o lo q tengo mal,como solucionarlo.

#include<stdio.h>
struct nodo_articulo
{
art inf_articulo;
struct nodo_articulo *sig;
};
void mostrar_menu();
void insertar(struct nodo_articulo **principio, struct nodo_articulo *nodo_nuevo,int repetido);
void mostrar_menu()
{
printf("nELIGE UNA OPCION");
printf("1.-Inserta informacionn");
printf("2.-Borrarn");
printf("3.-Mostrar listan");
printf("4.-Salirn");
}
void insertar(struct nodo_articulo **principio, struct nodo_articulo *nodo_nuevo,int repetido)
{
struct nodo_articulo *anterior;
struct *nuevo;
int ya_esta,resultado;
nuevo=(struct nodo_articulo*)malloc(sizeof(struct nodo_articulo)
if(*principio==NULL)
{
*principio=nodo_nuevo;
nodo_nuevo->sig=NULL;
}
else
{
resultado=
if(resultado=*repetido)
{
*repetido=1;
return NULL;
printf("nEl nodo ya se encuentra en la lista");
}
else
{
if(resultado=NULL)
{
sig->nodo_nuevo=*principio;
*principio=nodo_nuevo;
}
else
{
nodo_nuevo->sig=anterior->sig;
anterior->sig=nodo_nuevo;
}
}
}
}