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