Ti serve un ciclo sulla lista. Parti dal primo elemento e confronti abb e par con i campi che ti interessano nella struttura, se non c'è corrispondenza passi all'elemento successivo della lista, altrimenti ti fermi. Per darti un'idea, il ciclo dovrà essere nella forma:
codice:
while(lista != NULL){
if ( (strcmp(abb, elementodellalista) != 0) && (strcmp(abb, elementodellalista) != 0) ){
//Elemento esistente, stampa.
flag_exist = 1;
break;
}
lista = lista->next;
}
if(flag_exist == 0)
aggiungiElemento();
La condizione dell'if la devi cambiare se ti serve sapere se c'è corrispondenza solo con uno dei due elementi (non lo hai specificato). La funzione aggiungiElemento() sarà quella che ti andrà a creare un nuovo elemento in testa o in coda alla lista, con una delle millemila implementazioni che puoi trovare facilmente in rete o su un libro di testo. Sono tutte nella stessa forma: parti dal primo elemento, se è nullo, allora aggiungi l'elemento. Altrimenti scorri la lista fino a che non trovi elemento->next = NULL. Ora elemento->next dovrà puntare all'elemento che aggiungi tu, e quello che hai aggiunto a NULL.