Ignoring the return value from strcmp isn't going to help...
Usually you would test the return value, if it's zero the strings are equal, and do something accordingly, e.g.
// strings are equal.
Now this bit's interesting. What's the point of the first strcmp call?
while (strcmp (books.ISBN,books.ISBN)==0)