Hello,

I am only 2 weeks into programming so I am at a very basic level but I am very willing to learn and apply any help and advice.

I have to write a program that determines the area and perimeter of a rectangle, circle, and triangle.

The user will choose a shape by enter 1-3, or 4 to exit.

after selecting the shape the user must enter the x,y coordinates.(the program assumes that the user only enters coordinates that actually makes sense)

I have chosen the distance formula as my algorithm to find the length of sides/radius/height, then use the standard area/perimeter formulas.

My problem is mainly setting up the menu system, and debugging my formulas because the error log says "invalid operands to binary."

I would be very grateful for any help/advice. Thanks.

Here is my code so far:Code:#include <stdio.h> #include <math.h> void main() //Program to determine area and perimeter of geometric shapes using the x,y coordinates { int choice,x1,y1,x2,y2,x3,y3,x4,y4; float a,b,c,r,A,P,l,w; // user chooses shape. printf("Welcome to Cartesian geometry! Please choose your shape by entering its number:\n"); printf("rectangle -> enter 1\n"); printf("circle -> enter 2\n"); printf("triangle -> enter 3\n"); printf("to exit -> enter 4\n"); scanf("%d", &choice); if (choice==1) { prinf("Please enter the coordinates for the rectangle from bottom left to right, then top right to left"); printf("\nenter value for x1:"); scanf("%d", &x1); printf("enter value for y1:"); scanf("%d", &y1); printf("enter value for x2:"); scanf("%d", &x2); printf("enter value for y2"); scanf("%d", &y2); printf("enter value for x3:"); scanf("%d", &x3); printf("enter value for y3:"); scanf("%d", &y3); printf("enter value for x4:"); scanf("%d", & x4); printf("enter value for y4:"); scanf("%d", &y4); l = (((x1-x2)^2 + (y1-y2)^2))^(1/2); w = (((x1-x4)^2 + (y1-y4)^2))^(1/2); A=l*w; printf("the area is %f\n", A); P=2*(l+w); printf("the perimeter is %f", P); } if (choice==2) { printf("Please enter the centre of the circle, and a point on the circle\n"); printf("enter value for x1\n"); scanf("%f", &x1); printf("enter value for y1\n"); scanf("%f", &y1); printf("enter value for x2\n"); scanf("%f", &x2); printf("enter value for y2\n"); scanf("%f", &y2); r=(((x2-x1)^2 + (y2-y1)^2))^(1/2); A=3.14*(r)^2; printf("\nThe Area of the triangle is %f", A); P=2*3.14*r; printf("The Perimeter of the triangle is %f", P); if (choice==3) { printf("Please enter the x,y coordinates of the triangle starting with the bottom left to right, then the top:"); scanf("%f", &x1); printf("\nenter value for y1"); scanf("%f", &y1); printf("please enter value for x2"); scanf("%f", &x2); printf("please enter value for y2"); scanf("%f", &y2); printf("enter value for x3"); scanf("%f", &x3); printf("enter value for y3"); scanf("%f", &y3); a=((x2-x1)^2 + (y2-y1)^2))^(1/2); b=((x3-x2)^2 + (y3-y2)^2))^(1/2); c=((x3-x1)^2 + (y3-y1)^2))^(1/2); A=(.25)*(((a^2+b^2+c^2))^(2) - (a^4+b^4+c^4))^(1/2); printf("The area is %f", A); P=a+b+c; printf("The perimeter is %f", P); if (choice>=4) { return 0; } }