C Programs | IT Developer
IT Developer

C Programs



Share with a Friend

C Program: Menu-Driven Extended Geometry Calculations

Introduction

Geometry is essential in mathematics, computer graphics, CAD, architecture, and engineering.
A menu-driven C program can serve as a geometry calculator to find area, perimeter, and circumference for multiple shapes.

This extended program supports:

  1. Rectangle
  2. Circle
  3. Square
  4. Triangle
  5. Trapezium
  6. Parallelogram
  7. Rhombus
  8. Ellipse
  9. Regular Polygon (n-sided)

 

C Program: Menu-Driven Extended Geometry Calculations

C

#include <stdio.h>

#include <math.h>

#define PI 3.14159   // Constant value of PI

 

int main() {

    int choice, n;

    float length, width, radius, side, base1, base2, height;

    float a, b, c, d;  // Sides

    float area, perimeter, circumference, s, major_axis, minor_axis;

 

    // Display Menu

    printf("=== Geometry Calculator ===\n");

    printf("1. Rectangle (Area & Perimeter)\n");

    printf("2. Circle (Area & Circumference)\n");

    printf("3. Square (Area & Perimeter)\n");

    printf("4. Triangle (Area & Perimeter)\n");

    printf("5. Trapezium (Area)\n");

    printf("6. Parallelogram (Area & Perimeter)\n");

    printf("7. Rhombus (Area & Perimeter)\n");

    printf("8. Ellipse (Area & Approx. Perimeter)\n");

    printf("9. Regular Polygon (Area & Perimeter)\n");

    printf("Enter your choice (1-9): ");

    scanf("%d", &choice);

 

    switch(choice) {

        case 1: // Rectangle

            printf("\nEnter length: ");

            scanf("%f", &length);

            printf("Enter width: ");

            scanf("%f", &width);

            area = length * width;

            perimeter = 2 * (length + width);

            printf("Area of Rectangle      = %.2f\n", area);

            printf("Perimeter of Rectangle = %.2f\n", perimeter);

            break;

 

        case 2: // Circle

            printf("\nEnter radius: ");

            scanf("%f", &radius);

            area = PI * radius * radius;

            circumference = 2 * PI * radius;

            printf("Area of Circle          = %.2f\n", area);

            printf("Circumference of Circle = %.2f\n", circumference);

            break;

 

        case 3: // Square

            printf("\nEnter side: ");

            scanf("%f", &side);

            area = side * side;

            perimeter = 4 * side;

            printf("Area of Square      = %.2f\n", area);

            printf("Perimeter of Square = %.2f\n", perimeter);

            break;

 

        case 4: // Triangle (Heron’s formula)

            printf("\nEnter sides (a, b, c): ");

            scanf("%f %f %f", &a, &b, &c);

            perimeter = a + b + c;

            s = perimeter / 2;

            area = sqrt(s * (s - a) * (s - b) * (s - c));

            printf("Perimeter of Triangle = %.2f\n", perimeter);

            printf("Area of Triangle      = %.2f\n", area);

            break;

 

        case 5: // Trapezium

            printf("\nEnter base1: ");

            scanf("%f", &base1);

            printf("Enter base2: ");

            scanf("%f", &base2);

            printf("Enter height: ");

            scanf("%f", &height);

            area = 0.5 * (base1 + base2) * height;

            printf("Area of Trapezium = %.2f\n", area);

            break;

 

        case 6: // Parallelogram

            printf("\nEnter base: ");

            scanf("%f", &base1);

            printf("Enter height: ");

            scanf("%f", &height);

            printf("Enter side length: ");

            scanf("%f", &side);

            area = base1 * height;

            perimeter = 2 * (base1 + side);

            printf("Area of Parallelogram      = %.2f\n", area);

            printf("Perimeter of Parallelogram = %.2f\n", perimeter);

            break;

 

        case 7: // Rhombus

            printf("\nEnter diagonals d1 and d2: ");

            scanf("%f %f", &a, &b);

            printf("Enter side length: ");

            scanf("%f", &side);

            area = (a * b) / 2;

            perimeter = 4 * side;

            printf("Area of Rhombus      = %.2f\n", area);

            printf("Perimeter of Rhombus = %.2f\n", perimeter);

            break;

 

        case 8: // Ellipse

            printf("\nEnter major axis (a): ");

            scanf("%f", &major_axis);

            printf("Enter minor axis (b): ");

            scanf("%f", &minor_axis);

            area = PI * major_axis * minor_axis;

            // Approximation (Ramanujan’s formula)

            perimeter = PI * (3*(major_axis+minor_axis) - sqrt((3*major_axis+minor_axis)*(major_axis+3*minor_axis)));

            printf("Area of Ellipse      = %.2f\n", area);

            printf("Perimeter of Ellipse ≈ %.2f\n", perimeter);

            break;

 

        case 9: // Regular Polygon

            printf("\nEnter number of sides (n): ");

            scanf("%d", &n);

            printf("Enter side length: ");

            scanf("%f", &side);

            perimeter = n * side;

            area = (n * side * side) / (4 * tan(PI / n));

            printf("Area of Polygon      = %.2f\n", area);

            printf("Perimeter of Polygon = %.2f\n", perimeter);

            break;

 

        default:

            printf("\nInvalid choice! Please select 1–9.\n");

    }

 

    return 0;

}

Output

 
OUTPUT 1 :

Example 1 (Square)

=== Geometry Calculator === 1. Rectangle (Area & Perimeter) 2. Circle (Area & Circumference) 3. Square (Area & Perimeter) 4. Triangle (Area & Perimeter) 5. Trapezium (Area) 6. Parallelogram (Area & Perimeter) 7. Rhombus (Area & Perimeter) 8. Ellipse (Area & Approx. Perimeter) 9. Regular Polygon (Area & Perimeter) Enter your choice (1-9): 3 Enter side: 12 Area of Square = 144.00 Perimeter of Square = 48.00 OUTPUT 2 :

Example 2 (Ellipse)

=== Geometry Calculator === 1. Rectangle (Area & Perimeter) 2. Circle (Area & Circumference) 3. Square (Area & Perimeter) 4. Triangle (Area & Perimeter) 5. Trapezium (Area) 6. Parallelogram (Area & Perimeter) 7. Rhombus (Area & Perimeter) 8. Ellipse (Area & Approx. Perimeter) 9. Regular Polygon (Area & Perimeter) Enter your choice (1-9): 8 Enter major axis (a): 7 Enter minor axis (b): 5 Area of Ellipse = 109.96 Perimeter of Ellipse ≈ 38.48 OUTPUT 3 :

Example 3 (Regular Hexagon)

=== Geometry Calculator === 1. Rectangle (Area & Perimeter) 2. Circle (Area & Circumference) 3. Square (Area & Perimeter) 4. Triangle (Area & Perimeter) 5. Trapezium (Area) 6. Parallelogram (Area & Perimeter) 7. Rhombus (Area & Perimeter) 8. Ellipse (Area & Approx. Perimeter) 9. Regular Polygon (Area & Perimeter) Enter your choice (1-9): 9 Enter number of sides (n): 6 Enter side length: 4 Area of Polygon = 41.57 Perimeter of Polygon = 24.00

Explanation

  • Rectangle → Area = l × w, Perimeter = 2(l + w)
  • Circle → Area = πr², Circumference = 2πr
  • Square → Area = a², Perimeter = 4a
  • Triangle → Heron’s formula for area
  • Trapezium → Area = ½ (base1 + base2) × height
  • Parallelogram → Area = base × height, Perimeter = 2(base + side)
  • Rhombus → Area = ½ × d1 × d2, Perimeter = 4a
  • Ellipse → Area = πab, Perimeter ≈ Ramanujan’s formula
  • Regular Polygon → Area = (n × a²) / (4 × tan(π/n)), Perimeter = n × a