"Have you a book" should be considered a valid answer here in my opinion. https://separatedbyacommonlanguage.blogspot.de/2011/05/do-you-havehave-youhave-you-got.html
Although the literal English translation is 'Have you a book?' and I think should be accepted, it is not the general translation, 'Do you have a book?'. Many German phrases are very oddly literal like this one, but they're that way because they're meant for the German language. Some even don't have an English translation/equivalent because they were made for, and by Germans to understand.
"Do you have a book" is the "literal" translation of this sentence. "Have you a book" is the word for word translation.
The difference is this. The sentence "Hast du ein Buch?" can be translated into English as "Do you have a book" or "Have you got a book?" or "Have you a book?" (which is archaic and in my opinion should not be accepted, unless someone can show an example of a this being commonly used in modern English.) But if you're translating the sentence "Do you have a book" into German, the only option (I know of) is "Hast du ein Buch?" You can't translate word for word like "Machen du haben ein Buch?" or "Tun du haben ein Buch?" and have it make any sense. Those are word for word translations, not literal ones, and they're nonsense.
"Do you have a book" is a literal translation because it gives the exact meaning of the sentence in the most common way possible, even if the words are in a different order and there's an extra "do" there.
Archaic or not archaic definitely is English, so it should be accepted so that we can could listen to, just in movies or with our crazy voisin... Although it works. And I think contrary to you, that's more than a literal translation, because in fact literal is not just go on word by word but letter by letter.
You reverse the order of the noun/pronoun and verb when asking a question.
You have a book: Du hast ein Buch.
Do you have a book? : Hast du ein Buch?
We do this in English with the verb "be," but not with any other verbs.
You are sad / Are you sad?
In German, every verb works like that in questions.
@JaniceMReeder: You're correct in noticing that "will" comes before the subject in a question. In English, this happens with all modal auxiliary verbs (a.k.a. helping verbs) -- will, do, did, can, should, etc. These words are added to convey tense (future, past) and mood, rather than convey verbal meaning. The main verb (a.k.a. principle verb, full verb, or action word) will still be in its rightful place after the subject.
Let's use your example: "Will you come with us?" We can see that "come" is the main verb, and it is right where it belongs: after the subject "you". But "will" could never stand on it's own, such as "Will you with us?" ...this is obviously incomplete. And a simpler, "Will you?" implies the full verb is already known.
To my knowledge, "to be" is the only full verb (excluding colloquial dialects) that reverses the subject-verb order in the form of a question. So MaxGonzale16 is ALSO correct.
To further complicate things, some auxiliary verbs can also be principle verbs! So here are some sites with more detail for anyone who wants to read further, or if my reply is unclear.: Link 1 - Link 2
And now, back to German... :-)
Curses upon my lack of grammatical knowledge! I don't know what a verb is; I thought that "Hast" would be considered a verb and has to be placed in the second position? I.e. Du hast ein Buch. Is it different here because it's asking a question or am I just missing what a verb actually is?
So in phrase "du hast ein Buch" it's phrased "you have a book." But in a question "hast du ein Buch" it's "have you a book?" Is this typical for german syntax? It makes perfect sense but it's just interesting that the syntax changed in one form. Are both accepted? Any help is appreciated!