http://pastebin.com/m2f9f539e
I couldn’t get drawEpicycloid to work hence I plonked in two other functions, drawTriangle(), and drawOval() to see whether other functions could work or not but I still could not extrapolate what was wrong. drawTriangle() seems to work but still not drawOval() and drawEpicycloid.

alot can be wrong. f.e. if your background is black and your points too you won’t see a difference. also give your points proper Z values via glVertex3f like on the triangle. don’t see how you swap buffers actually but since you say you see a triangle then ok (maybe GLUT auto).

_NK47: There’s only a single buffer, so there’s no need to swap.

First, the standard C sin and cos functions take radians, so you need to change your loops from 0-360 to 0-2pi in the oval function, but I think you got it in the Epicycloid.
Also, you have an othographic volume in the init function, but on reshape it changes to perspective; you probably want that to be consistent.

The problem is the depth of the vertices. The viewing volume is from 0.5 to 20 deep, and coordinates specified using glVertex2f are at 0, so you need to either translate the points or use glVertex3f.

You have the clippling planes noted in the your comments, and you specified the depth of the vertices of the triangle, so it seems that you were already onto it.