codice:

void cercaElemento(){
    int search;//IL CODICE E' UN NUMERO INTERO 
    int trovato =0;//  Variabile che usiamo come simil bool 
    FILE *fp;
    struct tabella frutta;
    printf("Inserire il CODICE del prodotto da ricercare "); 
    scanf("%d",&search); 
    fp=fopen("frutta.txt","r"); 
    while(fread(&frutta,sizeof(struct tabella),1, fp)>0){
   
        if( search==frutta.cod_prod) 
        {  
             printf("Cod: %d\tNome: %s\tTipo: %s\tPrezzo: %f E\n", frutta.cod_prod, frutta.nome_prod, frutta.tipo_prod, frutta.prezzo);
           trovato=1;
        }
  
      
     }//End while
     
     /*Nel ciclo while , controlliamo ogni struttura-record , se troviamo il record con codice p      rodotto voluto stampiamo il record , e mettiamo a valore 1 la variabile trovato  
      se la variabile trovato==1  ho trovato il record e NON STAMPO ELEMENTO NON TROVATO
      se la variabile resta a valore 0 allora non ho stampato e non ho trovato il record.
      ========================================================================================

      in C , 0 = falso  , diverso da zero "in questo caso" 1 =vero , 
      (!trovato) è uguale a ! (non 1  ),non vero,  ossia uguale a zero , la condizione pertanto       la posso scrivere if(trovato==0) , di solito uso la forma più chiara , ma non so come
      mai mi è venuto di scrivere cosi :D
      */
     if(!trovato)
           printf("Elemento non trovato!\n");
         
}