Ho fatto una ricerca per nome... però non funziona, visualizza sempre il primo contatto:
codice:
//2. ricerca per nome
int cerNom(void)
{
char nome[DIM],cognome[DIM],pausa;
long pos;
printf("\n\t\t\t-------CERCA--------");
printf("\n\tNome: ");
scanf("%s",&lista.nome);
printf("\n\tCognome: ");
scanf("%s",&lista.cognome);
scanf("%c", &pausa);
pos==cerPer(cognome, nome);
if(pos==-1){
printf("\nLa persona cercata non è nella scuola");
scanf("%c", &pausa);
//return(0);
}
else{
printf("\n----------------------------");
printf("\nCognome: %s",lista.cognome);
printf("\nNome: %s",lista.nome);
printf("\nIndirizzo: %s",lista.ind);
printf("\nNumero di telefono: %s",lista.numTel);
printf("\n----------------------------");
scanf("%c",&pausa);
}}
//scansione elenco per cercare nomi
long cerPer(char *cg, char *nm)
{
int n;
long pos;
fp= fopen("lista.txt","r");
for( ; ; ){
n=fread(&lista, sizeof(struct pers), 1,fp);
if(n==0){
fclose(fp);
pos=-1;
return(pos);
}
else{
if(strcmp(cg, lista.cognome))
if(strcmp(nm, lista.nome))
pos=ftell(fp);
fclose(fp);
return(pos-sizeof(struct pers));
}
}
}
Dove sbaglio?