#include typedef union vec3 { struct{float x,y,z;}; struct{float r,g,b;}; float E[3]; }vec3; typedef enum type { TYPE_INT, TYPE_FLOAT, }type; // TODO: fill in the struct typedef struct box { }box; // TODO: implement this function, such that it prints the numbers in the right format. // this function should just print the number and a newline (\n) void PrintBox(box Box) { // You can use a switch here. } int main(int argc, int argv) { vec3 Vector = {1.0f,2.0f,3.0f}; // You can use r,g and b printf("Color: %2.2f, %2.2f, %2.2f\n", Vector.r, Vector.g, Vector.b); printf("Before the loop:\n"); // You can use x,y and z printf("Position: %2.2f, %2.2f, %2.2f\n", Vector.x, Vector.y, Vector.z); // You can access the elements via array for (int i = 0; i < 3; i++) { Vector.E[i] = 10.0f; } printf("After the loop:\n"); printf("Position: %2.2f, %2.2f, %2.2f\n", Vector.x, Vector.y, Vector.z); box BoxInt; box BoxFloat; // TODO: fill this variables both with the appropriate type and with 15 as a value PrintBox(BoxInt); PrintBox(BoxFloat); return 0; }