#include #include using namespace std; //define my point structure struct point { double x; double y; }; //point functions double slope(point p1, point p2); double intercept(point p1, double m); double dist(point p1, point p2); point midpoint(point p1, point p2); void printPoint(point p); int main(void) { point p1, p2, mp; double m; //get the points cout << "Enter point 1: "; cin >> p1.x >> p1.y; cout << "Enter point 2: "; cin >> p2.x >> p2.y; //test the slope m = slope(p1, p2); cout << "Slope: " << m << endl; //test the intercept cout << "Intercept: " << intercept(p1, m) << endl; //test the distance cout << "Distance: " << dist(p1, p2) << endl; //test midpoint mp = midpoint(p1, p2); cout << "Midpoint: "; printPoint(mp); cout << endl; return 0; } double slope(point p1, point p2) { return (p2.y - p1.y) / (p2.x - p1.x); } double intercept(point p1, double m) { return p1.y - m * p1.x; } double dist(point p1, point p2) { double dx, dy; //distance in each dimension dx = p2.x - p1.x; dy = p2.y - p1.y; return sqrt(dx * dx + dy * dy); } point midpoint(point p1, point p2) { point mp; //calculate the midpoint mp.x = (p1.x + p2.x)/2.0; mp.y = (p1.y + p2.y)/2.0; return mp; } void printPoint(point p) { cout << "(" << p.x << ", " << p.y << ")"; }