
Originariamente inviata da
torn24
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");
}