struct Usuario{
cad20 nombre;
cad20 apellido1;
};
struct Libro{
cad40 autor;
cad6 ejemplares;
};
struct Biblioteca {
Usuario usuario;
Libro libro;
};
/****NECESITO ORDENAR POR APELLIDO AQUI EN ESTA FUNCION********/
void quicksort_user(Biblioteca *biblio,int primero,int ultimo)
{
int i,j,central;
Biblioteca aux;
i=primero;
j=ultimo;
central=(primero+ultimo)/2;
/***********EN ESTA PARTE stricmp( biblioteca[i].usuario.apellido, biblioteca[central].usuario.apellido1) QUISIERA Q ME AYUDEN POR FAVOR
COMPILO Y ME SALE ERROR CREO Q ES POR QUE ESTA MAL LA UTLIZACION DE ESOS PUNTOS RESPECTO A LA ESTRUCTURAS O TAL VS POR LO Q SON PUNTEROS QUISIERA SABER COMO DEBERIA SER LA COMPÁRACION.....
ES DECIR QUIERO ORDENAR REGISTROS DE ACUERDO AL APELLIDO DEL USUARIOaux=biblioteca.usuario[i];biblioteca.usuario[i]=biblioteca.usuario[j];biblioteca.usuario[j]=aux; Y NECESITO HACERLO ASI CON ESTRUCTURAS ANIDADAS********/
do
{ while( ( stricmp( biblioteca[i].usuario.apellido, biblioteca[central].usuario.apellido1)<0) && i<ultimo)
i++;
while( ( stricmp(biblioteca[j].usuario.apellido, biblioteca[central].usuario.apellido1)>0) && j>primero)
j--;
if(i<=j)
{
aux=biblioteca.usuario[i];
biblioteca.usuario[i]=biblioteca.usuario[j];
biblioteca.usuario[j]=aux;
i++;
j--;
}
}while(i<=j);
if(primero<j)
quicksort_user(arreglo,primero,j);
if(i<ultimo)
quicksort_user(arreglo,i,ultimo);
}
