Для того, чтобы определить, винительный или родительный падеж, нужно для начала определить, является ли данное существительное одушевлённым. Дело в том, что одушевлённые имена существительные как в родительном, так и в винительном падеже отвечают на вопрос "кого?". Если существительное неодушевлённое, оно отвечает в родительном падеже на "чего?", но зато в винительном на "что?" - вопрос, который совпадает с вопросительным словом именительного падежа.
Существительное нужно проверить - сочетается ли оно в родительном падеже со словом "нет". К примеру, в вопросе "Нет чего?". Винительный падеж проверяется сочетаемостью с глаголами, находящимися в форме первого лица, единственного числа, настоящего времени, например "знаю, вижу". "Вижу что? - стул" или "Вижу кого? - ученика." Как мы видим, форма винительного и родительного падежей у существительных одушевлённых и мужского рода второго склонения одинаковы.
Вместо одушевлённого существительного мужского рода во втором склонении подставьте любое слово первого склонения. К примеру, "Нет кого? - ученика", "Вижу кого? - ученика". У первого склонения для родительного падежа "ы", а для винительного "у".
Заменяем множественное существительное неодушевлённым существительным этой же формы, после чего определяем падеж аналогично. К примеру - "Знаю (кого?) людей" нужно заменить на "Знаю (что?) имена". Получается, что "имена" - это существительное во множественном числе в винительном падеже.
Если взять пример с родительным падежом - заменяем "Знаю адрес (кого?) друзей" на "Знаю адреса (чего?) фирм". "Фирм" находится в родительном падеже во множественном числе.
Попробуйте определить падеж существительных, которые не склоняются (кофе, пальто итд), используя ключевые вопросы. Если сложно определить по вопросам, используйте вариант с заменой на любое существительное (склонение).