I need to make a very simple cone with h and r (like the picture I've uploaded as example) and I can't find it in previous questions.

I need to make a very simple cone with h and r (like the picture I've uploaded as example) and I can't find it in previous questions.

With arc
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[dashed] (0,0) arc (170:10:2cm and 0.4cm)coordinate[pos=0] (a);
\draw (0,0) arc (-170:-10:2cm and 0.4cm)coordinate (b);
\draw[densely dashed] ([yshift=4cm]$(a)!0.5!(b)$) -- node[right,font=\footnotesize] {$h$}coordinate[pos=0.95] (aa)($(a)!0.5!(b)$)
-- node[above,font=\footnotesize] {$r$}coordinate[pos=0.1] (bb) (b);
\draw (aa) -| (bb);
\draw (a) -- ([yshift=4cm]$(a)!0.5!(b)$) -- (b);
\end{tikzpicture}
\end{document}

With ellipse
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\clip (-2,0) rectangle (2,1cm);
\draw[dashed] (0,0) circle(2cm and 0.35cm);
\end{scope}
\begin{scope}
\clip (-2,0) rectangle (2,-1cm);
\draw (0,0) circle(2cm and 0.35cm);
\end{scope}
\draw[densely dashed] (0,4) -- node[right,font=\footnotesize] {$h$}coordinate[pos=0.95] (aa)(0,0)
-- node[above,font=\footnotesize] {$r$}coordinate[pos=0.1] (bb) (2,0);
\draw (aa) -| (bb);
\draw (-2,0) -- (0,4) -- (2,0);
\end{tikzpicture}
\end{document}

Gonzalo has kindly provided the shadings to the cylinder and I am reproducing his code (with thanks):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadings}
\begin{document}
\begin{tikzpicture}
\fill[
top color=gray!50,
bottom color=gray!10,
shading=axis,
opacity=0.25
]
(0,0) circle (2cm and 0.5cm);
\fill[
left color=gray!50!black,
right color=gray!50!black,
middle color=gray!50,
shading=axis,
opacity=0.25
]
(2,0) -- (0,6) -- (-2,0) arc (180:360:2cm and 0.5cm);
\draw
(-2,0) arc (180:360:2cm and 0.5cm) -- (0,6) -- cycle;
\draw[dashed]
(-2,0) arc (180:0:2cm and 0.5cm);
\draw[dashed]
(2,0) -- node[below] {$r$} (0,0) -- node[left] {h} (0,6) ;
\draw
(0,8pt) -- ++(8pt,0) -- (8pt,0);
\end{tikzpicture}
\end{document}

This requires a mathematician. You need to calculate the points of tangency and then connect the vertex of the cone to those points, not to the ends of the major axis. If the ellipse has its major axis from (-a,0) to (a,0), its minor axis from (0,-b) to (b,0), and its vertex at (0,h) (with h>b), then one point of tangency is (a*sqrt(1-(b/h)^2), b*(b/h)) and the other is the same but with its x-coordinate negated.
Here is MetaPost code to draw the cone correctly:
beginfig(1)
a:=2in; b:=.5in; h:= 3in; % for example
draw fullcircle xscaled 2a yscaled 2b; % a x b ellipse
pair Z[];
Z2 := (0,h); % vertex
Z1 := (a*sqrt(1 - (b/h)*(b/h)),b*(b/h)); % right tangency
Z3 := (-xpart Z1, ypart Z1); % left tangency
draw Z1--Z2--Z3;
endfig;
end
I don't use TikZ, so I will let others provide a translation if necessary. (And provide for the dashed portions.)
Dan's solution translated to TikZ:
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{positioning, calc}
\begin{document}
\begin{tikzpicture}
\newcommand{\radiusx}{2}
\newcommand{\radiusy}{.5}
\newcommand{\height}{6}
\coordinate (a) at (-{\radiusx*sqrt(1-(\radiusy/\height)*(\radiusy/\height))},{\radiusy*(\radiusy/\height)});
\coordinate (b) at ({\radiusx*sqrt(1-(\radiusy/\height)*(\radiusy/\height))},{\radiusy*(\radiusy/\height)});
\draw[fill=gray!30] (a)--(0,\height)--(b)--cycle;
\fill[gray!50] circle (\radiusx{} and \radiusy);
\begin{scope}
\clip ([xshift=-2mm]a) rectangle ($(b)+(1mm,-2*\radiusy)$);
\draw circle (\radiusx{} and \radiusy);
\end{scope}
\begin{scope}
\clip ([xshift=-2mm]a) rectangle ($(b)+(1mm,2*\radiusy)$);
\draw[dashed] circle (\radiusx{} and \radiusy);
\end{scope}
\draw[dashed] (0,\height)|-(\radiusx,0) node[right, pos=.25]{$h$} node[above,pos=.75]{$r$};
\draw (0,.15)-|(.15,0);
\end{tikzpicture}
\end{document}
Just for fun with PSTricks.
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}[dimen=m](8,10)
\psellipticarc[linestyle=dashed](4,1)(4,.65){0}{180}
\psellipticarcn(4,1)(4,.65){0}{180}
\psline[linecap=0](0,1)(4,10)(8,1)
\pcline[linestyle=dashed](4,10)(4,1)\naput{$h$}
\pcline[linestyle=dashed](4,1)(8,1)\naput{$r$}
\rput(4,1){\psline(0,9pt)(9pt,9pt)(9pt,0)}
\end{pspicture}
\end{document}

I arrived here looking for a way to draw a light cone in TikZ, so here's the one I made using Dan's answer:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\def\b{0.2} % semi-minor axis
\pgfmathsetmacro{\h}{(1 + sqrt(1 + 4*\b^2)) / 2}
\pgfmathsetmacro{\a}{sqrt(\h)}
\draw (-1, -1) -- (1, 1);
\draw (-1, 1) -- (1, -1);
\draw (0, \h) ellipse [x radius = \a, y radius = \b];
\draw (0, -\h) ellipse [x radius = \a, y radius = \b];
\end{tikzpicture}
\end{document}