Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2013, 18:57
mati_fur
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Problema con Busqueda en archivo binario

No me sale por pantalla lo que estoy buscando en el archivo binario
Denme una mano!!

void Clientes(){
system("cls");
FILE *pf;
struct Cliente cli;
int tam_cli= sizeof(cli);

int elegi,op=0;
while(op==0){
system("cls");
printf("1>__Ingresar nuevo cliente\n");
printf("2>__Buscar Cliente\n");
printf("3>__Salir\n");
scanf("%d",&elegi);

switch(elegi)
{
case 1:
pf= fopen("Clientes.dat","ab");
if(pf==NULL)
{
perror("error al abrir el archivo");
return;
}
system("cls");
do
{
printf("Nombre: ");
scanf("%s",&cli.nombre);
printf("Apellido: ");
scanf("%s",&cli.apellido);
printf("Direccion: ");
scanf("%s",&cli.direccion);
printf("Cumpleaños: ");
scanf("%s",&cli.fechacumple);
printf("Fecha de compra: ");
scanf("%s",&cli.fechacompra);
printf("Ingrese Articulo vendido\n");
scanf("%s",&cli.com.articulo);
printf("Ingrese el talle\n");
scanf("%s",&cli.com.talle);
fwrite(&cli,tam_cli,1,pf);
fflush(stdin);
printf("Desea seguir ingresando Clientes presione 0 sino 1\n");
scanf("%d",&op);
}
while(op==0);
fclose(pf);
break;
case 2:
pf= fopen("Clientes.dat","ab");
if(pf==NULL)
{
perror("error al abrir el archivo");
return;
}
int n;
system("cls");
char ap[15];
printf("Ingrese Apellido: ");
scanf("%s",&ap);
while((n=fread(&cli,tam_cli,1,pf))!=0&&stricmp(cli .apellido,ap)!=0);
{
if(n==0)
{
printf("No existe el cliente \n");
system("PAUSE");
}
else
{
printf("Nombre: %s\tApellido: %s\nDireccion: %s\nCompra: %s\nCumpleaños: %s\n",cli.nombre,cli.apellido,cli.direccion,cli.fe chacompra,cli.fechacumple);
system("PAUSE");
}
}
fclose(pf);
break;
case 3:
return;
default:
printf("Error ingrese un numero del 1 al 3\n");
}
}
}