I'm having a problem with the thirs case of my program...I'm trying to get a value for y only from two sets of coordinates. This works fine in the first two cases since I'm calling findY from slopeAndIntercept...but when I get into the third case my constructors get mixed up...any help?
Code:// THIS IS THE .H FILE #include <iostream> using namespace std; //File: Line.h class Line { public: //constructors Line( double newSlope = 0, double newIntercept = 0); Line( double newx1, double newy1, double newx2, double newy2 ); void output1(); //output for slope and y-intercept void output2(); //output for the coordinates double findY(double x); // find y-coord from given x-coord private: double slope; double intercept; double x1, y1, x2, y2; }; #include "line.cpp"Code://LINE .CPP Line::Line( double newSlope, double newIntercept ) : slope(newSlope), intercept(newIntercept){} Line::Line( double newx1, double newy1, double newx2, double newy2 ) : x1(newx1), y1(newy1), x2(newx2), y2(newy2){} void Line::output1(){ cout << "Initializing slope of line to: " << slope << endl; cout << "Initializing y-intercept to: " << intercept << endl; } void Line::output2(){ cout << "\n( x1, y1 ) = ( " << x1 << ", " << y1 << " )" << endl; cout << "( x2, y2 ) = ( " << x2 << ", " << y2 << " )" << endl; } double Line::findY(double x) { if ( (slope != 0) && (intercept != 0) ){ return (slope*x + intercept); } else { slope = (y2 - y1)/(x2 - x1); intercept = (y1 - slope*(x1)); return (slope*x + intercept); } }thanks, axonCode://MAIN.CPP #include "Line.h" int main() { double x = 0; double y = 0; cout << "\n----------<Case1>---------\n" << endl; Line slopeAndIntercept(1, 2), coordinates(2, 4, 3, -1); slopeAndIntercept.output1(); coordinates.output2(); x = 12; cout << "\nCalculating y-coordinate when x = " << x << endl; y = slopeAndIntercept.findY(x); cout << "When x = " << x << " , y = " << y << endl; cout << "\n----------<Case2>---------\n" << endl; Line slopeAndIntercept1(4, -1), coordinates1(0, 0, 0, 0); slopeAndIntercept1.output1(); x = 7; cout << "\nCalculating y-coordinate when x = " << x << endl; y = slopeAndIntercept1.findY(x); cout << "When x = " << x << " , y = " << y << endl; cout << "\n----------<Case3>---------\n" << endl; Line slopeAndIntercept2(0, 0),coordinates2(0, 0, 1, 1); coordinates2.output2(); x = 2; cout << "\nCalculating y-coordinate when x = " << x << endl; y = coordinates2.findY(x); cout << "When x = " << x << " , y = " << y << endl; return 0; }



LinkBack URL
About LinkBacks


