ho risolto il problema..
codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX_DIM 20

typedef struct Elenco{
   char info[MAX_DIM];
   struct Elenco *next;
   } Elenco;
typedef Elenco * puntElenco;

puntElenco inserisci(puntElenco L, char*word){
   puntElenco q;
   q=(puntElenco)malloc(sizeof(Elenco)); //crea un elenco allocandolo sulla memoria dinamica
   strcpy(q->info,word);
   q->next=L;  //lega al resto della lista
   return(q);  //ritorna al nuovo puntatore della lista
}
                       
                       //definizione funzione di inserimento in lista      
puntElenco InserisciElementoInLista(puntElenco L,char*parola){
   puntElenco q=L, prec;
   int PosTrovata=0;
   if(q==NULL){        // lista vuota
      q=inserisci(L,parola);
      return(q);
   }
   
                     //lista con una parola con inseriemnto in testa
   if(strcmp(q->info,parola)>=0){ 
      q=inserisci(L,parola);
      return q;
   }
                    //lista con almeno una parola più inserimento dopo la prima parola
   while (q!=NULL && (PosTrovata==0))
   {
      if(strcmp(q->info,parola)<0)
      {
         prec=q;
         q=q->next;
      }
      else
         PosTrovata=1;
   }
   prec->next=inserisci(q,parola);
   return (L);
}
             //definizione funzione di visualizzazione lista
void VisualizzaLista(puntElenco L){
   puntElenco q=L;
   printf("\nLista parole:\n\n");
   while(q!=NULL){
      printf("%s\n",q->info);
      q=q->next;
   }
   printf("\n");
}
             //analizza i caratteri della parola, incrementando il numero di vocali 
void ContaVocaliParola(char parola[], int *pvocali){
  char c;
  int count=0;
  while((c= toupper(parola[count]))!= '\0') {
  if (c== 'A' || c== 'E' || c== 'I' || c== 'O' || c== 'U' )
    ++ *pvocali;
    count++;
}
}
                 //scorre la lista e definisce il numero vocali presenti in essa
void ContaNumeroVocaliInLista(puntElenco L){
 int i=0;
 puntElenco q=L;
 while(q!=NULL){ 
                ContaVocaliParola(q->info, &i);
                q=q->next;
                }
                printf("Le vocali sono %d\n",i) ;
                }                      


int main (){
   puntElenco el_parole=NULL;
   el_parole = NULL;
   int scelta,a=1;
   int vocali;
   char word[MAX_DIM]={'\0'},lunga[MAX_DIM]={'\0'};
   
   do{
        //creazione MENU
         printf("SCELTA OPERAZIONE \n");
         printf("\nPREMI 1:-----------INSERISCI PAROLA---------------------\n");
         printf("PREMI 2:-----------VISUALIZZA LISTA-----------------\n");
         printf("PREMI 3:----------VISUALIZZA VOCALI IN LISTA-----------\n");
         printf("PREMI 4:----------------USCITA-----------------\n");
         printf("\nScelta: ");
         scanf("%d",&scelta);
             
         if(scelta==1){
            printf("Digita la parola da inserire: ");
            scanf("%s",word);   
            el_parole=InserisciElementoInLista(el_parole,word);
         }
            //definizione delle possibili scelte               
         if(scelta==2) VisualizzaLista(el_parole);
               
         if(scelta==3) ContaNumeroVocaliLista(el_parole);
                       
         if(scelta==4) a=0;
             
         if(scelta!= 1 && scelta!= 2 && scelta!= 3 &&  scelta!=4) printf("\nScelta non valida\n\n");
             
      } while(a!=0);
      
      return 0;
   }

non capisco perchè però dovete dubitare..volevo un input niente di più..
ora vorrei chiedervi un'altra cosa..in questa lista devo trovare la parola più lunga..immagino di dover scorrere la lista ancora una volta,ma come faccio a definire le condizioni per trovare la parola più lunga?