Drawing Triangle, help please!

I am currently learning opengl 4.3 through the book opengl superbible, i am currently trying to draw a simple triangle after being able to draw a point. However i am having trouble getting the triangle to show only the background is displaying. Here is the code:
#include “sb6.h”
#include <math.h>

GLuint compile_shaders(void)
{
GLuint vertex_shader;
GLuint fragment_shader;
GLuint program;

//Vertex shader
static const GLchar * vertex_shader_source[] = 
{
	"#version 430 core													                                            

"
"void main(void)
"
"{
"
" const vec4 vertices[3] = vec4[3](vec4( 0.25, -0.25, 0.5, 1.0), vec4( -0.25, -0.25, 0.5, 1.0), vec4( 0.25, 0.25, 0.5, 1.0));
"
"
"
" gl_Position = vertices[gl_VertexID];
"
"}
"
};

static const GLchar * fragment_shader_source[] = 
{
	"#version 430 core							   

"
"
"
"out vec4 color;
"
"
"
"void main(void)
"
"{
"
" color = vec4(0.0, 0.8, 1.0., 1.0);
"
"}
"
};

//Create and compile vertex shader
vertex_shader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertex_shader, 1, vertex_shader_source, NULL);
glCompileShader(vertex_shader);

//Create and compile fragment shader
fragment_shader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragment_shader, 1, fragment_shader_source, NULL);
glCompileShader(fragment_shader);

//Create program, attach shader and link it
program = glCreateProgram();
glAttachShader(program, vertex_shader);
glAttachShader(program, fragment_shader);
glLinkProgram(program);

//Delete the shades now that the program has them
glDeleteShader(vertex_shader);
glDeleteShader(fragment_shader);

return program;

}

class my_application : public sb6::application {
public:

void render(double currentTime) {
	const GLfloat color[] = { 0.0f, 0.2f, 0.0f, 1.0f };
	glClearBufferfv(GL_COLOR, 0, color);

	//Use the program created earlier for rendering
	glUseProgram(rendering_program);

	//Draw one point
	glDrawArrays(GL_TRIANGLES, 0, 3);
} 

void startup()
{
	rendering_program = compile_shaders();
	glGenVertexArrays(1, &vertex_array_object);
	glBindVertexArray(vertex_array_object);
}

void shutdown()
{
	glDeleteVertexArrays(1, &vertex_array_object);
	glDeleteProgram(rendering_program);
	glDeleteVertexArrays(1, &vertex_array_object);
}

private:
GLuint rendering_program;
GLuint vertex_array_object;
};

DECLARE_MAIN(my_application);

I can get the window and color up no problem and a point but i cant get anything with a triangle. Please Help