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