/*
* Copyright 2013 John Zahorjan
*
* This file is code developed as part of
* one of the UW CSE 333 lectures (333exercises).
*
* 333exercises is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* 333exercises is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with 333exercises. If not, see .
*/
#include
#include
#include
#include "point.h"
#include "vector.h"
#include "rect.h"
int Usage(char *argv[]) {
printf("Usage: %s x y\nWhere x and y describe a point.\n", argv[0]);
printf("Prints whether the point is in the unit rectangle or not.\n");
return EXIT_FAILURE;
}
int main(int argc, char* argv[]) {
float inputX, inputY;
Point unitCorner = Point_add(Point_add(ORIGIN, UNIT_X), UNIT_Y);
Rect unitRect = { ORIGIN, unitCorner };
if ( argc != 3 ) return Usage(argv);
if ( sscanf(argv[1], "%f", &inputX) != 1 ) return Usage(argv);
if ( sscanf(argv[2], "%f", &inputY) != 1 ) return Usage(argv);
Point userPoint = { inputX, inputY };
if ( Rect_containsPoint(unitRect, userPoint) )
printf("Point is in the unit rectangle\n");
else
printf("Point is not in the unit rectangle\n");
return EXIT_SUCCESS;
}