Q. Write macro definitions with arguments for calculation of area and perimeter of a triangle, a square and a circle. Store these macro definitions in a file called "areaperi.h". Include this file in your program, and call the macro definitions for calculating area and perimeter for different triangles, squares and circles.
Step 1: Create a header file (.h) declaring the prototypes of required functions.
float area1(int, int, int); // for triangle
int area2(int); // for square
float area3(float); // for circle
float perimeter1(int, int, int); // for triangle
int perimeter2(int); // for square
float perimeter3(float); // for circle
Step 2: Create a C programming file (.c) defining those functions.
#include<stdio.h>
#include<math.h>
#define PI 3.1416
float perimeter1(int a, int b, int c) // for triangle
{
return a+b+c;
}
int perimeter2(int a) // for square
{
return 4*a;
}
float perimeter3(float r) // for circle
{
return 2*PI*r;
}
float area1(int a, int b, int c) // for triangle
{
float s = perimeter1(a, b, c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c));
}
int area2(int a) // for square
{
return pow(a,2);
}
float area3(float r) // for circle
{
return PI*r*r;
}
Step 3: Write your C program (.c) including the areaperi.h file as #include "areaperi.h".
#include<stdio.h>
#include "areaperi.h"
int main()
{
int n,a,b,c;
float r;
printf("Enter your choice:\n");
printf("1. Triangle\n");
printf("2. Square\n");
printf("3. Circle\n");
scanf("%d",&n);
switch(n)
{
case 1:
printf("Enter three sides:");
scanf("%d%d%d",&a,&b,&c);
printf("Area = %f\n",area1(a,b,c));
printf("Perimeter = %f\n",perimeter1(a,b,c));
break;
case 2:
printf("Enter side:");
scanf("%d",&a);
printf("Area = %d\n",area2(a));
printf("Perimeter = %d\n",perimeter2(a));
break;
case 3:
printf("Enter radius:");
scanf("%f",&r);
printf("Area = %f\n",area3(r));
printf("Perimeter = %f\n",perimeter3(r));
break;
default:
printf("Invalid Choice");
return 0;
}
}
Step 4: Compile the source files.
gcc myprogram.c areaperi.c -o program
Step 5: Run your program with command: ./program
Enter your choice:
1. Triangle
2. Square
3. Circle
2
Enter side:5
Area = 25
Perimeter = 20
No comments:
Post a Comment