#include <stdio.h>
#include <math.h>

int main(void)
{

    float a,b,c,h,k,xv1,xv2,xv3,xv4,xv5,xv6,xv7,xv8,xv,yv1,yv2,yv3,yv4,yv5,yv6,yv7,yv8,yv;

    char cont,work;

    printf("Quadratic Equation Co-Ordinate Finder (2) - ax^2 + bx + c = y");
    printf("\nMade in December 2012 by Will Dallas");

    start:

    printf("\n\na = ");
    scanf("%f", &a);

    printf("b = ");
    scanf("%f", &b);

    printf("c = ");
    scanf("%f", &c);

    h=((b)/(2*a));
	k=(c)-((b*b)/(4*a));


	xv1=(-h)-4;
	xv2=(h*(-1))-3;
	xv3=(h*(-1))-2;
    xv4=(h*(-1))-1;
    xv=(h*(-1));
    xv5=(h*(-1))+1;
	xv6=(h*(-1))+2;
	xv7=(h*(-1))+3;
    xv8=(h*(-1))+4;

    yv1=((xv1+h)*(xv1+h))+k;
    yv2=((xv2+h)*(xv2+h))+k;
    yv3=((xv3+h)*(xv3+h))+k;
    yv4=((xv4+h)*(xv4+h))+k;
    yv=((xv+h)*(xv+h))+k;
    yv5=((xv5+h)*(xv5+h))+k;
    yv6=((xv6+h)*(xv6+h))+k;
    yv7=((xv7+h)*(xv7+h))+k;
    yv8=((xv8+h)*(xv8+h))+k;

    printf("\n\nPlot these points:");

    /* Solution */

    printf("\n- (%0.1f , %0.1f)", xv1, yv1);
    printf("\n- (%0.1f , %0.1f)", xv2, yv2);
    printf("\n- (%0.1f , %0.1f)", xv3, yv3);
    printf("\n- (%0.1f , %0.1f)", xv4, yv4);
    printf("\n- (%0.1f , %0.1f)", xv, yv);
    printf("\n- (%0.1f , %0.1f)", xv5, yv5);
    printf("\n- (%0.1f , %0.1f)", xv6, yv6);
    printf("\n- (%0.1f , %0.1f)", xv7, yv7);
    printf("\n- (%0.1f , %0.1f)", xv8, yv8);

    /* Working */

    printf("\n\nShow working? y/n:");
    getchar();
    scanf("%c", &work);

    if(work=='y'){
        printf("\n\n    x | %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f", xv1, xv2, xv3, xv4, xv, xv5, xv6, xv7, xv8);
        printf("\n    ------------------------------------------------------------------------");
        printf("\n    y | %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f  %0.1f", yv1, yv2, yv3, yv4, yv, yv5, yv6, yv7, yv8);
    }
    if(work=='n'){

    }
    else{

    }

    printf("\n\nDo you want to find more co-ordinates? y/n:");
    getchar();
    scanf("%c", &cont);

    if(cont=='y'){
        goto start;
        }
    if(cont=='n'){

    }
    else{

    }


    return 0;
}