At first, I should tell you about this place.
This place, called "2ch" is not appropriate for serious
questions, and not so many people are kind.
Then, I'll leave a some comment about your homework.

q-1:It is a little ambiguous for us. It said,
"Represent each class using the class diagram notation
described during lecture". So I can only tell you some
hints. Three classes are, for example, movable blocks class,
piled blocks class, and judgement class. The methods are
maybe "Set valiables" and "Get valiables".

q-2:I can't get meaning of this question correctly,
but I think , for example, The answer is changing in 28th
line of the file "Bookshelf.cpp", "return( myNumberOfBooksOnShelf );"
to "if ( myNumberOfBooksOnShelf % 2 == 0){
return( myNumberOfBooksOnShelf * 2) }" and so on.

I feel a little tired, so the rest may be done in the mood. :-)