Question 1041972
You can do it like the other tutor told you, but I think
you are supposed to either 

1. be learning the formula:
<b>
P(A or B) = P(A) + P(B) - P(A and B)
</b>        
P(cat or dog) = P(cat) + P(dog) - P(cat and dog)

P(cat or dog) = 16/34 + 21/34 - 8/34

P(cat or dog) = 29/34

or 

2. learning to use Venn diagrams (sometimes they are 
called Euler diagrams).  So let's do it that way too:

{{{drawing(300,200,-4,4,-2,4.8,rectangle(-4,-1.6,4,4.4), locate(-2.5,1.8,matrix(1,2,cat,only)),locate(1.1,1.7,matrix(1,2,dog,only)),locate(-3.7,-1,matrix(1,4,neither,cat,nor,dog)),locate(-3.6,2.5,C),
locate(-.28,2.4,cat),locate(-.28,1.9,and),locate(-.28,1.4,dog),
red(circle(-sqrt(2),sqrt(2),2)),red(circle(-sqrt(2),sqrt(2),1.95)),red(circle(-sqrt(2),sqrt(2),1.975)),
blue(circle(sqrt(2),sqrt(2),2),circle(sqrt(2),sqrt(2),1.95),circle(sqrt(2),sqrt(2),1.975)),
locate(3.4,2.5,D)
 )}}}

Everybody within the red circle has a cat.
Everybody within the blue circle has a dog.
Those in the overlapping part of the circles have
both a cat and a dog.
Those outside both circles have neither a cat not a dog.
</pre>
8 students had both a dog and a cat.
<pre>
So we put 8 in the middle, the part where the circles
overlap.

{{{drawing(300,200,-4,4,-2,4.8,rectangle(-4,-1.6,4,4.4), locate(-2.5,1.8,matrix(1,2,cat,only)),




locate(1.1,1.7,matrix(1,2,dog,only)),locate(-3.7,-1,matrix(1,4,neither,cat,nor,dog)),locate(-3.6,2.5,C),locate(-.11,2.9,green(8)),
locate(-.28,2.4,cat),locate(-.28,1.9,and),locate(-.28,1.4,dog),
red(circle(-sqrt(2),sqrt(2),2)),red(circle(-sqrt(2),sqrt(2),1.95)),red(circle(-sqrt(2),sqrt(2),1.975)),
blue(circle(sqrt(2),sqrt(2),2),circle(sqrt(2),sqrt(2),1.95),circle(sqrt(2),sqrt(2),1.975)),
locate(3.4,2.5,D)
 )}}}


</pre>
16 students had a cat
<pre>
Those 16 include the 8 that have both a cat and a dog,
as well as those who have only a cat.  We already have
put those 8 with both cat and dog in the part of the
red circle that overlaps the blue circle, so to find
out how many have a cat only, we subtract the 8 in the
overlapping part from the 16, getting 8 that have a cat 
only.  So we put 8 in the left part of the red circle, 
to indicate that 8 people have a cat ONLY, and no dog. 

{{{drawing(300,200,-4,4,-2,4.8,rectangle(-4,-1.6,4,4.4), locate(-2.5,1.8,matrix(1,2,cat,only)),

locate(-2,2.3,green(8)),


locate(1.1,1.7,matrix(1,2,dog,only)),locate(-3.7,-1,matrix(1,4,neither,cat,nor,dog)),locate(-3.6,2.5,C),locate(-.11,2.9,green(8)),
locate(-.28,2.4,cat),locate(-.28,1.9,and),locate(-.28,1.4,dog),
red(circle(-sqrt(2),sqrt(2),2)),red(circle(-sqrt(2),sqrt(2),1.95)),red(circle(-sqrt(2),sqrt(2),1.975)),
blue(circle(sqrt(2),sqrt(2),2),circle(sqrt(2),sqrt(2),1.95),circle(sqrt(2),sqrt(2),1.975)),
locate(3.4,2.5,D)
 )}}}

</pre>
21 students had a dog
<pre>
Those 21 include the 8 that have both a dog and a cat,
as well as those who have only a dog.  We already have
put those 8 with both dog and cat in the part of the
red circle that overlaps the blue circle, so to find
out how many have a dog only, we subtract the 8 in the
overlapping part from the 21, getting 13 that have a dog 
only.  So we put 13 in the right part of the blue circle, 
to indicate that 13 people have a dog ONLY, and no cat. 



Now we have 8 in the "cat only" category, the left part of the
red circle, 8 in the "cat and dog" category, and 13 in the
"dog only" category.  But that's only 8+8+13=29 students that
have either a cat or a dog or both.  There are 34 students in 
all. So that leaves 34-29=5 students that have neither a cat 
nor a dog.  So we put 5 outside both circles:

{{{drawing(300,200,-4,4,-2,4.8,rectangle(-4,-1.6,4,4.4), locate(-2.5,1.8,matrix(1,2,cat,only)),

locate(-2,2.3,green(8)),


locate(1.1,1.7,matrix(1,2,dog,only)),

locate(1.5,2.5,green(13)),

locate(-3.7,-1,matrix(1,5,green(5),neither,cat,nor,dog)),locate(-3.6,2.5,C),
locate(-.11,2.9,green(8)),
locate(-.28,2.4,cat),locate(-.28,1.9,and),locate(-.28,1.4,dog),
red(circle(-sqrt(2),sqrt(2),2)),red(circle(-sqrt(2),sqrt(2),1.95)),red(circle(-sqrt(2),sqrt(2),1.975)),
blue(circle(sqrt(2),sqrt(2),2),circle(sqrt(2),sqrt(2),1.95),circle(sqrt(2),sqrt(2),1.975)),
locate(3.4,2.5,D)
 )}}}

So the probability that a student has either a cat or a dog
is the probability that he is in one of the 8+8+13 = 29 in
the circles, which is 29/34.

Edwin</pre>