If a speaker has looked for a book on a shelf and the book is not there, can he say both of these to a friend?
"Have you put the book back on the shelf?"
"Did you put the book back on the shelf?"
If he can't use both...why can't he?
"Have you put the book back on the shelf?"
"Did you put the book back on the shelf?"
If he can't use both...why can't he?