My own line function, ALMOST works
void draw(float x1, float x2, float y1, float y2) //Numbers are passed in from Main()
{{
system("CLS");
float slope = (y1 - y2) / (x1 - x2); //Finds the slope
cout << "The slope is " << slope;
gotoxy(x1, y2); //This part doesn't work if you use gotoxy(x1, y1)
cout << ".";
gotoxy(x2, y1); //This part doesn't work if you use gotoxy(x2, y2)
cout << ".";
float newx = x1;
float newy = y1;
while(newx != x2) { //This is the most important part of the function
gotoxy(newx, newy); //While the newx (which is x1) is not equal to x2 (the other end of the line segment)
cout << "."; //add the slope to the newx and newy values and draw the new dot
newx = newx + slope;
newy = newy + slope;
}
}}
This function does not work and I am not sure why, if someone could look at it and see if there are any errors I would be very happy. I am not sure what is wrong.
When I enter (1,2), (5,6) for the points it draws them in the correct place, but the line seems to be going the wrong way. It seems when I enter any other points it just keeps on drawing dots for all eternity.