labeledPoint.h
========================================================================
struct LabeledPoint;
struct LabeledPoint* makeLabeledPoint(double x, double y, char* label);
void setLabel(struct LabeledPoint *lp, char *label);
char* getLabel(struct LabeledPoint *lp);
========================================================================
labeledPoint.c
========================================================================
/* labeledPoint.c */
#include "labeledPoint.h"
#include <stdlib.h>
struct LabeledPoint {
double x, y;
char* name;
};
struct LabeledPoint* makeLabeledPoint(double x, double y, char* label) {
struct LabeledPoint* p = malloc(sizeof(struct LabeledPoint));
p->x = x;
p->y = y;
p->name = name;
return p;
}
void setLabel(struct LabeledPoint* lp) {
lp->name = name;
}
char* getLabel(struct LabeledPoint* lp) {
return lp->name;
}
========================================================================
main.c
========================================================================
/* main.c */
#include "point.h"
#include "labeledPoint.h"
#include <stdio.h>
int main(int argc, char** argv) {
struct LabeledPoint* origin = makeLabeledPoint(0.0, 0.0, "origin");
struct LabeledPoint* lowerLeft = makeLabeledPoint(-1.0, -1.0, "lowerLeft");
printf("distance = %f\n", getDistance(
(struct Point*) origin, (struct Point*) lowerLeft));
}
No comments:
Post a Comment