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;
         }
      }
   }
 }