SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Pakete en Lunes 20 de Mayo de 2002, 18:17
-
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;
}
}
-
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);
}
}