$(a)$ True. To check whether a given graph has Eulerian cycle or not, can be done in linear time in terms of input of the graph. So, we can check it in polynomial time. We can store the given undirected graph $G$ in adjacency list and first using DFS, check whether the graph is connected or not. If the graph is connected then check whether each vertices has even degree or not in the adjacency list representation of the graph and if the graph is not connected then do the same thing for each component of the graph. It takes $\mathcal{O}(|V|+|E|) $ time.
$(b)$ False. To check whether the graph $G$ has Hamiltonian cycle or not, is an NPC problem.
$(c)$ False.
Counter-Example :
Eulerian Cycle : ABDACDEFHGEA
But it does not have any Hamiltonian cycle.
$(d)$ False.
Complete graph $K_4$ does not have a Eulerian cycle because each vertex has degree $3$ which is not even.
But every complete graph always have a Hamiltonian cycle because there exist a path from one vertex to every other vertices.