/* * 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; }