• Miércoles 15 de Mayo de 2024, 04:53

Autor Tema:  Re: Funcion de buscar palabra  (Leído 1259 veces)

Pakete

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Funcion de buscar palabra
« en: Lunes 20 de Mayo de 2002, 18:17 »
0
Le encontrais algun fallo???????
Es una funcion ke introduciendole una palabra busca dentro de una lista a ver cuantas veces sale en el apartado de averia.la estructura de la lista seria esta:
typedef struct
{char matri[9];
 char nbp[25];
 char averia[50];
 int tav;
 struct time hora;
 struct time horapre;
 struct date fecha;
 struct date fechapre;
 }datos;

la funcion debe buscar en el array averia de cada componente de la lista  aver si sale esta palabra.

Yo es ke o estoy muy ofuscado ya o no le veo el fallo.

A ver si me podeis ayudar





 void conbusc(lista l,char pal[])
 {lista aux;
  aux=l;
  int i,z,k,j,w;


  z=strlen(pal)-1;

   while(aux!=NULL)
   { w=0;

     for(i=0;i<strlen(aux->a.averia)-1;i++)
      {
         if(aux->a.averia==' ')
           {
             for(k=i+1,j=0;k<z;k++,j++)
               if(pal[j]==aux->a.averia[k])
                 w++;

              if(w==z)
              {printf("n Matricula: %s",aux->a.matri);
              printf("n Propietario: %s",aux->a.nbp);
               }
            }

        }
      aux=aux->enlace;
     }

}

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Funcion de buscar palabra
« Respuesta #1 en: Lunes 20 de Mayo de 2002, 23:34 »
0
Si he entendido bien tu problema (q no estoy muy seguro) aqui te propongo un codigo para buscar una palabra dentro de la lista.

void buscar(lista l, char pal[])
{
lista aux = l;
while ((aux != NULL) && (strcmp(pal,aux->a.averia != 0))
        {
                aux = aux->enlace;
        }
        if (aux != NULL)
        {
                printf("n Matricula: %s",aux->a.matri);
                printf("n Propietario: %s",aux->a.nbp);
        }
}