I've been having trouble getting normals to show up in my project. I've researched the formula and have calculated normals using it, but in the end, they still look messed up.

Is there a different method for getting normals for quads? Here's some of my code for reference:

Code :
glBegin(GL_QUADS);
glNormal3f(0.0, 0.0, 1.0);
glVertex3f(1.0, 2.0, 1.0);
glVertex3f(1.0, 0.0, 1.0);
glVertex3f(-1.0, 0.0, 1.0);
glVertex3f(-1.0, 2.0, 1.0);
glPopAttrib();
glPopMatrix();
glEnd();
 
glPushMatrix();
glBegin(GL_TRIANGLES);
glColor3f(1.0, 1.0, 1.0);
glVertex3f(0.0, 4.0, 0.0);
glVertex3f(1.0, 2.0, 1.0);
glVertex3f(-1.0, 2.0, 1.0);
glPopMatrix();
glEnd();
 
glPushMatrix();
glBegin(GL_QUADS);
glColor3f(0.0, 0.0, 1.0);
glNormal3f(0.89, 0, -0.44);
glVertex3f(-1.0, 2.0, 1.0);
glVertex3f(-1.0, 0.0, 1.0);
glVertex3f(-2.0, 0.0, -1.0);
glVertex3f(-2.0, 2.0, -1.0);
glPopMatrix();
glEnd();

Is there anything else I'm doing wrong? Thanks in advance!