Program to determine area,perimeter of geometric shapes using coordinates
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;
}
}