------------------------------------------------------------------------------
MC logo
Point Driver File
[^] Code Examples
------------------------------------------------------------------------------
<<Point Implementation File cpointu.c Point Class Header File>>
/*
 * Driver program for the point ADT.
 */

#include "cpoint.h"
#include <stdio.h>

// Print a line of the form x op y = z, where x, y, and z are points. 
void prline(Point x, char *op, Point y, Point z)
{
        print(x);
        printf(" %s ", op);
        print(y);
        printf(" = ");
        print(z);
        printf("\n");
}

main() 
{
        // Some points.
        Point a = mkpt(5.2, -4.8);
        Point b = mkpt(3.0, 9.0);
        Point c = mkpt(-3.38, 0.0);
        Point d = mkpt(0.0, 0.0);

        // Some arith. on the points.
        d = sub(b, c);
        prline(b, "-", c, d);
        prline(a, "+", b, add(a, b));
        print(a); printf(" is %g from ", dist(a,d)); print(d); printf("\n");

        // Point variables are not references.
        Point fred[5];
        int m;
        for(m = 0; m < 5; m++) fred[m] = a;
        double w = 4.5;
        double x = -2.31;
        for(m = 0; m < 5; m++) {
                move(&fred[m], w, x);
                w += 3.4;
                x -= 1.3;
        }
        for(m = 0; m < 5; m++) {
                print(fred[m]);
                printf("\n");
        }
}
<<Point Implementation File Point Class Header File>>