|
ex4-12m.cpp - Example 4-12 Point and Line classes - main Source file (ex4-12m.cpp) |
// File: ex4-12.cpp
#include <iostream>
#include <iomanip> // for setprecision
using namespace std;
#include "ex4-12p.h"
#include "ex4-12l.h"
const double pi = 3.14159265;
int main(void)
{
cout << setprecision(3) << endl; // print with 3 decimal place accuracy
Point origin;
Point p1(1., 2.);
Point p2(3.0, 4.0);
Point p3(3.0, 5.0);
Point p4(4.0, 5.0);
Point p5(0.0, 5.0);
Point p6(-2.0, 3.0);
Line l1(p1, p2);
Line l2(p2, p3);
Point p7(l1, l2);
Line l3(p3, p4);
Line l4(p5, p6);
Line l5(1., 2., 3.);
Line l6(p1, l4, "parallel");
Line l7(p1, l4, "perpendicular");
Line l8(p6, "vertical");
Line l9(p7, "horizontal");
Line l10(l4, 1.0);
Line l11(l5, -2.0);
Line l12(origin, 4.0, pi / 3.0);
Line l13(p1, 5.0, -pi / 4.0);
cout << "origin=";
origin.print();
cout << endl;
cout << "p1=";
p1.print();
cout << endl;
cout << "p2=";
p2.print();
cout << endl;
cout << "p3=";
p3.print();
cout << endl;
cout << "p4=";
p4.print();
cout << endl;
cout << "p5=";
p5.print();
cout << endl;
cout << "p6=";
p6.print();
cout << endl;
cout << "p7=";
p7.print();
cout << endl;
cout << "l1-";
l1.print();
cout << "l1 (x-intercept): " << l1.x_intercept()
<< " (y-intercept): " << l1.y_intercept() << endl;
cout << "l2-";
l2.print();
cout << "l3-";
l3.print();
cout << "l4-";
l4.print();
cout << "l5-";
l5.print();
cout << "l6-";
l6.print();
cout << "l7-";
l7.print();
cout << "l8-";
l8.print();
cout << "l9-";
l9.print();
cout << "l10-";
l10.print();
cout << "l11-";
l11.print();
cout << "l12-";
l12.print();
cout << "l13-";
l13.print();
cout << "length of l1 = " << l1.length() << endl;
cout << "length of l2 = " << l2.length() << endl;
cout << "midpoint of l1 = ";
l1.midpoint().print();
cout << endl;
cout << "distance p1 to p2 = " << p1.distance_to_Point(p2) << endl;
cout << "distance p1 to p3 = " << p1.distance_to_Point(p3) << endl;
cout << "distance p1 to p4 = " << p1.distance_to_Point(p4) << endl;
cout << "distance p2 to p3 = " << p2.distance_to_Point(p3) << endl;
cout << "distance p1 to p1 = " << p1.distance_to_Point(p1) << endl;
cout << "distance l1 to p3 = " << l1.distance_to_Point(p3) << endl;
cout << "distance l1 to p4 = " << l1.distance_to_Point(p4) << endl;
cout << "distance l2 to p5 = " << l2.distance_to_Point(p5) << endl;
cout << "distance l3 to p6 = " << l3.distance_to_Point(p6) << endl;
cout << "distance l1 to l4 = " << l1.distance_to_Line(l4) << endl;
return 0;
}
CIS27: Programming in C++ Instructor: Joe Bentley