have you tried induction, using n = 2 as your base case:
G = Zp x Zp
subgroups:
G
Zp x {0}
{0} x Zp
<(1,k)>, for p-1 choices of k (k ≠ 0)
{(0,0)}
total: 1+1+1+(p-1)+1 = p+3
for the induction step, you have two cases to prove:
G has a non-cyclic subgroup of order pk, k > 1 (easy case)
G has only cyclic subgroups (hard case)
for the second case (i haven't worked out all the details), i think you can use the fact that G has a non-trivial center, to reduce it to the case that G is abelian.
now if G is abelian and has only one subgroup of order pk, for every k < n, then G would be cyclic, and by supposition G is non-cyclic (appeal to sylow for existence of a subgroup of order pk)
so we can assume that for some 1< k < n, G has two distinct subgroups of order pk. but then we have two distinct subgroups of order p (by Cauchy), say H and K, and since G is abelian HK is a subgroup of G.
then: since G is supposed to be non-cyclic with only cyclic subgroups, HK must be cyclic, contradicting the fact that it has 2 distinct subgroups (H and K) of order p.
so G must not be abelian, and that should take care of it (unless I've done something stupid...could be).