Hi everyone. I'm currently trying to learn programming (taking a class for it) but am stuck on why this isn't working. I'm sure its something stupid. This is the program in question:
main.cpp:
Keep in mind that it isn't actually done yet, I haven't gotten to 'case 4' yet.Code:#include <iostream> #include "Segment.h" using namespace std; int main() { //Decleration of varibles. int option; float x1, x2, y1, y2, X, slope; Segment segment1; //the initial looping statement. do { //The menu in which the user has a choice of which option to choose. cout << "1- Imput two points." << endl; cout << "2- Calculate slope and Y-Intercept values." << endl; cout << "3- Calculate Y" << endl; cout << "4- Calculate X" << endl; cout << "5- exit program" << endl << endl; cin >> option; cout << endl << endl; //switch statement for which option has been chosen. switch(option) { case 1: cout << endl; cout << "Please enter X1" << endl; cin >> x1; cout << "Please enter Y1" << endl; cin >> y1; cout << "Please enter X2" << endl; cin >> x2; cout << "Please enter Y2" << endl; cin >> y2; cout << endl; segment1.setPoints(x1,y1,x2,y2); break; case 2: cout << "The slope is: " << segment1.getSlope() << endl; cout << "The y Intercept is: " << segment1.getIntercept() << endl; break; case 3: cout << "Enter a value for X." << endl; cin >> X; cout << "The value of Y is: " << segment1.getY(X) << endl; break; case 4: break; case 5: cout << "Have a nice day." << endl << endl; break; default: cout << "Invalid option, try again." << endl << endl; } } while (option!=5); return 0; }
segment.cpp:
Code:#include "Segment.h" Segment::Segment() { pointsSet = false; } float Segment::getIntercept() { float yIntercept; yIntercept=Y1-(slope*X1); return yIntercept; } float Segment::getSlope() { float slope; slope=(Y2-Y1)/(X2-X1); return slope; } float Segment::getX(float y) { float x; // add code return x; } float Segment::getX1() { return X1; } float Segment::getX2() { return X2; } float Segment::getY(float x) { float y; y=(slope*x)+yIntercept; return y; } float Segment::getY1() { return Y1; } float Segment::getY2() { return Y2; } bool Segment::pointsAdded() { return pointsSet; } void Segment::setPoints(float x1, float y1, float x2, float y2) { pointsSet = true; X1 = x1; X2 = x2; Y1 = y1; Y2 = y2; }
edit:
I'm getting a new problem. Right now it's giving me a garbage value for yIntercept, but it changes with what i imput. For example I imput:
X1: 4
Y1: 5
X2: 6
Y2: 6
and I get displayed to the screen:
The slope is: 1
The y Intercept is: -3.16992e+034
so obviously it isn't calculating the y Intercept correctly. Any ideas?



LinkBack URL
About LinkBacks



