Question: CODE MUST BE IN C language In this assignment, you are asked to write a program that stores and manipulates a list of (at-most 1000)


CODE MUST BE IN C language
In this assignment, you are asked to write a program that stores and manipulates a list of (at-most 1000) polygons. Each polygon must be stored in a structure like this: typedef struct { int numberOfVertices; Direction shift Direction; Vertex* vertexList; }Polygon; where Direction and Vertex are defined like this: typedef enum { NONE = 0, UP = 1, DOWN = 2, LEFT = 4, RIGHT = 8 }Direction; typedef struct { int x, y; } Vertex; 1 Program Input Commands There are five valid input commands: add 11y11242 ... InYn: adds an n-gon with vertices located at coordinates (11,4), (12, y2), ..., In, yn) to the list of all polygons. The newly added polygon must have its shift Direction set to NONE. summary: prints the program's list of polygons. For each polygon, you need to print the number of vertices and the x-y coordinates of the polygon's centroid. To avoid the complications of calculating the centroid, you can assume that the x-coordinate (y-coordinate) of a polygon is equal to the average of x-coordinates (y-coordinates) of the polgyon's vertices. 1 turn k x: updates the shift Direction of polygon stored at index k of the program's list of polygons. The shift Direction has to be updated based on the value of r that can be equal to one of the following strings: - left - right up down right-up or up-right left-up or up-left right-down or down-right left-down or down-left shift ks: updates the x-y coordinates of vertices of polygon stored at index k of the program's list of polygons. To update the vertices' coordinates of a polygon, you need to check its shift Direction. If the direction is NONE, then the shift command has no side effect. If the direction is RIGHT(LEFT), then s has to be added to(subtracted from the x-coordinate of every vertex of the polygon. If the direction is UP(DOWN), then s has to be added to(subtracted from the y-coordinate of every vertex of the polygon. If the direction is RIGHT and UP, then s has to be added to both the x-coordinate and y-coordinate of every vertex of the polygon. quit: ends the program 2 Submissions You need to submit a .zip file compressing the following files: the source file(s) related to the assignment .c files). the header files (.h files) A readme file clearly explaining what parts have/haven't been implemented
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
