02/11/11 15:12
paco87
ciao, ho usato la funzione seekg per una ricerca dicotomica in un file binario, solo che nn funziona. Posto solo la parte del codice relativa alla ricerca binaria,sperando in un suggerimento:
do
{
md=(sx+dx)/2;
pos=(md-1)*sizeof dipendente;
fin.clear();
fin.seekg(pos);
fin>>dipendente.ID>>dipendente.cognome>>dipendente.nome>>dipendente.cell>>dipendente.card;
if(strcmp(cognome1, dipendente.cognome)==0)
{
cout<<"\nL'elemento e' nella posizione "<<dipendente.card<<endl;
system("pause"
trovato=true;
}
else if(strcmp(cognome1, dipendente.cognome)>0)
sx = md+1;
else
dx = md-1;
}while((sx<=dx) &&(!trovato));
do
{
md=(sx+dx)/2;
pos=(md-1)*sizeof dipendente;
fin.clear();
fin.seekg(pos);
fin>>dipendente.ID>>dipendente.cognome>>dipendente.nome>>dipendente.cell>>dipendente.card;
if(strcmp(cognome1, dipendente.cognome)==0)
{
cout<<"\nL'elemento e' nella posizione "<<dipendente.card<<endl;
system("pause"
trovato=true;
}
else if(strcmp(cognome1, dipendente.cognome)>0)
sx = md+1;
else
dx = md-1;
}while((sx<=dx) &&(!trovato));
aaa