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:
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;
}
Keep in mind that it isn't actually done yet, I haven't gotten to 'case 4' yet.
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?