FYI: strictly speaking, кошка is a feminine word, for a male cat we prefer кот. But as biological species (felidae), all the cats are called кошачьи (from кошка).
As for the word собака, it usually used for both genders, but for masculine we can also use пёс, from which originated a name for the biological family псовые (canidae).
I put "do you have a dog or a cat" instead of "do you have a cat or a dog" and it counted it as wrong. :(
Out of curiosity, does this sentence mean "Do you have a cat a cat or a dog?" As in if the person is asking if you have one or the other (implying you must have one of them), or if you have either (with no implication of owning either animal) or can it be used to ask both? Probably a dumb question, but I hope that makes sense.
That's not a dumb question at all. It's a good question. I know around four languages where the "or" in everyday life means... "any combination of the... things" (uhh... that is "either or" I guess) and the difference is only noted when the topic is (mathematical) logic really. It would be interesting if it was different in Russian.
Is 'или' inclusive ("and/or") or exclusive (only "or")?
In this sentence structure, it's: У (noun, genitive) есть (noun, nominative). Literally saying by you is an item. Because by you is a prepositional phrase and the focus is on the item, the item gets the "subject" form. (Although grammatically incorrect, if it helps understand the roles of the nouns, it would make more sense in English to say Кошка или собака есть у тебя? But this is Russian not English. So don't say this because it would be like saying "A cat or a dog do you have?")
Genitive is for possessing. In this context, the cat and dog are not doing the possessing so they are not genitive.
The tips and hints say that the preposition 'у' requires genitive case. But (here) it only applies to 'ты' -> 'тебя', not all of the nouns in the sentence. At 'есть', it's back to nominative case.
Why would it ever be applied to every noun of the sentence? Yes, it requires the genitive, but only of the word it's applied to, which is "тебя".
Let me give you an example from English. "She loves him". The verb "to love" requires the pronoun to be in the objective/accusative case. But that's only applied to the pronoun "he" (i.e. to the one being loved), not to all pronouns of the sentence. "Her loves him" or "She loves he" are both ungrammatical.
The same in Russian (except Russian has more cases and they apply to most nouns, not just pronouns). Some verbs and prepositions require the words they affect to be in a certain case, but not all nouns in a sentence.
Literally speaking, the Russian here means "Are cats or dogs with you?" - the pets are the grammatical subject, the predicate they're performing is being, and the way in which they are being is "with you".
I tried "Do you have the cat or the dog?" as if I were alluding to a specific cat or dog, and it was counted wrong. They're both the same in Russian, right?