Ci sono due problemi qui:
codice:
scanf("%s",ric_tit);
for(x=0;x<QLIB;x++){
if (strcmp (LIBRERIA[x][4].titolo,ric_tit)==0){
printf("Il libro non è disponibile perche' e' in prestito\n\n\n");
}
else{
printf("il libro e' disponibile\n\n\n");
}
in primis, strcmp restituisce zero quando le due stringhe coincidono; pertanto i due rami dell'if dovrebbero essere invertiti:
codice:
if (strcmp (LIBRERIA[x][4].titolo,ric_tit)==0)
puts("Il libro e' disponibile");
else
puts("Libro non trovato");
A questo punto, però, noterai che ottieni sempre "Libro non trovato", anche per libri presenti. Il problema sta nella scanf di prima: scanf("%s", ric_tit) legge una sola parola, non tutta la riga, per cui, a meno che il titolo del libro non sia di una sola parola, il codice non troverà niente. Per ovviare a questo problema, usa la fgets per leggere l'intera riga (ricordandoti di eliminare il newline finale che essa acquisisce).
---
Per inciso, il codice va racchiuso tra tag [code] ... [/code], altrimenti perde l'indentazione; ora ho sistemato io, in futuro ricordatene.