Write a Menu-driven program to calculate the area of different shapes based on the user choice.
Menu to calculate area of different shapes:
Enter 1 to calculate the area of a circle.
Enter 2 to calculate the area of a triangle.
Enter 3 to calculate the area of a square.
Enter 4 to calculate the area of a rectangle.
Enter 5 to terminate the program.
Formulae for area of different shapes:
Area of a circle = 3.14159265358979323846 * radius * radius
Area of a triangle = (1/2) * base * height
Area of a square = side * side
Area of a rectangle = length * breadth
Approach: To solve the problem, follow the below idea:
The approach is to use Switch-case to make different cases for different choices. The switch case should run until the user enters 5 to terminate the program. Use break statement to avoid fall-through between cases.
Below is the implementation of the approach:
#include <iostream> using namespace std;
// function to return area of a circle double getCircleArea( double radius)
{ return (3.14159265358979323846 * radius * radius);
} // function to return area of a triangle double getTriangleArea( double base, double height)
{ return (base * height * 0.5);
} // function to return area of a square double getSquareArea( double side) { return side * side; }
// function to return area of a rectangle double getRectangleArea( double length, double breadth)
{ return length * breadth;
} int main()
{ bool flag = true ;
while (flag) {
cout << "Enter 1 to calculate the area of a circle"
<< endl;
cout
<< "Enter 2 to calculate the area of a triangle"
<< endl;
cout << "Enter 3 to calculate the area of a square"
<< endl;
cout << "Enter 4 to calculate the area of a "
"rectangle"
<< endl;
cout << "Enter 5 to terminate the program" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
cout << "Enter radius: ";
double radius;
cin >> radius;
cout << "Area = " << getCircleArea(radius)
<< endl;
break ;
case 2:
cout << "Enter base: ";
double base, height;
cin >> base;
cout << "Enter height: ";
cin >> height;
cout << "Area = "
<< getTriangleArea(base, height) << endl;
break ;
case 3:
cout << "Enter side length: ";
double side;
cin >> side;
cout << "Area = " << getSquareArea(side)
<< endl;
break ;
case 4:
cout << "Enter length: ";
double length, breadth;
cin >> length;
cout << "Enter breadth: ";
cin >> breadth;
cout << "Area = "
<< getRectangleArea(length, breadth)
<< endl;
break ;
case 5:
flag = false ;
break ;
default :
cout << "Invalid Choice" << endl;
}
}
cout << "Program terminated" << endl;
return 0;
} |
import java.util.Scanner;
public class AreaCalculator {
// function to return area of a circle
static double getCircleArea( double radius) {
return Math.PI * radius * radius;
}
// function to return area of a triangle
static double getTriangleArea( double base, double height) {
return base * height * 0.5 ;
}
// function to return area of a square
static double getSquareArea( double side) {
return side * side;
}
// function to return area of a rectangle
static double getRectangleArea( double length, double breadth) {
return length * breadth;
}
public static void main(String[] args) {
boolean flag = true ;
Scanner scanner = new Scanner(System.in);
while (flag) {
try {
System.out.println( "Enter 1 to calculate the area of a circle" );
System.out.println( "Enter 2 to calculate the area of a triangle" );
System.out.println( "Enter 3 to calculate the area of a square" );
System.out.println( "Enter 4 to calculate the area of a rectangle" );
System.out.println( "Enter 5 to terminate the program" );
int choice = scanner.nextInt();
switch (choice) {
case 1 :
System.out.print( "Enter radius: " );
double radius = scanner.nextDouble();
System.out.println( "Area = " + getCircleArea(radius));
break ;
case 2 :
System.out.print( "Enter base: " );
double base = scanner.nextDouble();
System.out.print( "Enter height: " );
double height = scanner.nextDouble();
System.out.println( "Area = " + getTriangleArea(base, height));
break ;
case 3 :
System.out.print( "Enter side length: " );
double side = scanner.nextDouble();
System.out.println( "Area = " + getSquareArea(side));
break ;
case 4 :
System.out.print( "Enter length: " );
double length = scanner.nextDouble();
System.out.print( "Enter breadth: " );
double breadth = scanner.nextDouble();
System.out.println( "Area = " + getRectangleArea(length, breadth));
break ;
case 5 :
flag = false ;
break ;
default :
System.out.println( "Invalid Choice" );
}
} catch (java.util.NoSuchElementException e) {
System.out.println( "No input provided. Exiting..." );
break ;
}
}
System.out.println( "Program terminated" );
scanner.close();
}
} |
import math
# Function to return area of a circle def get_circle_area(radius):
return math.pi * radius * * 2
# Function to return area of a triangle def get_triangle_area(base, height):
return 0.5 * base * height
# Function to return area of a square def get_square_area(side):
return side * * 2
# Function to return area of a rectangle def get_rectangle_area(length, breadth):
return length * breadth
# Main program flag = True
while flag:
print ( "Enter 1 to calculate the area of a circle" )
print ( "Enter 2 to calculate the area of a triangle" )
print ( "Enter 3 to calculate the area of a square" )
print ( "Enter 4 to calculate the area of a rectangle" )
print ( "Enter 5 to terminate the program" )
choice = int ( input ( "Enter your choice: " ))
if choice = = 1 :
radius = float ( input ( "Enter radius: " ))
print ( "Area =" , get_circle_area(radius))
elif choice = = 2 :
base = float ( input ( "Enter base: " ))
height = float ( input ( "Enter height: " ))
print ( "Area =" , get_triangle_area(base, height))
elif choice = = 3 :
side = float ( input ( "Enter side length: " ))
print ( "Area =" , get_square_area(side))
elif choice = = 4 :
length = float ( input ( "Enter length: " ))
breadth = float ( input ( "Enter breadth: " ))
print ( "Area =" , get_rectangle_area(length, breadth))
elif choice = = 5 :
flag = False
else :
print ( "Invalid Choice" )
print ( "Program terminated" )
|
using System;
public class Scanner : IDisposable
{ private readonly System.IO.TextReader _reader;
private string _inputBuffer = string .Empty;
public Scanner(System.IO.TextReader reader = null )
{
_reader = reader ?? Console.In;
}
public void Dispose()
{
_reader.Dispose();
}
public int NextInt()
{
return int .Parse(Next());
}
public double NextDouble()
{
return double .Parse(Next());
}
private string Next()
{
if ( string .IsNullOrEmpty(_inputBuffer))
{
_inputBuffer = _reader.ReadLine();
if (_inputBuffer == null )
{
throw new InvalidOperationException( "Not enough input." );
}
}
var tokens = _inputBuffer.Split( new [] { ' ' , '\t' }, StringSplitOptions.RemoveEmptyEntries);
if (tokens.Length == 0)
{
throw new InvalidOperationException( "Not enough input." );
}
_inputBuffer = string .Empty;
return tokens[0];
}
public void ClearBuffer()
{
_inputBuffer = string .Empty;
}
} public class AreaCalculator
{ // function to return area of a circle
static double GetCircleArea( double radius)
{
return Math.PI * radius * radius;
}
// function to return area of a triangle
static double GetTriangleArea( double baseLength, double height)
{
return baseLength * height * 0.5;
}
// function to return area of a square
static double GetSquareArea( double side)
{
return side * side;
}
// function to return area of a rectangle
static double GetRectangleArea( double length, double breadth)
{
return length * breadth;
}
public static void Main( string [] args)
{
bool flag = true ;
Scanner scanner = new Scanner();
while (flag)
{
try
{
Console.WriteLine( "Enter 1 to calculate the area of a circle" );
Console.WriteLine( "Enter 2 to calculate the area of a triangle" );
Console.WriteLine( "Enter 3 to calculate the area of a square" );
Console.WriteLine( "Enter 4 to calculate the area of a rectangle" );
Console.WriteLine( "Enter 5 to terminate the program" );
int choice = scanner.NextInt();
switch (choice)
{
case 1:
Console.Write( "Enter radius: " );
double radius = scanner.NextDouble();
Console.WriteLine( "Area = " + GetCircleArea(radius));
break ;
case 2:
Console.Write( "Enter base: " );
double baseLength = scanner.NextDouble();
Console.Write( "Enter height: " );
double height = scanner.NextDouble();
Console.WriteLine( "Area = " + GetTriangleArea(baseLength, height));
break ;
case 3:
Console.Write( "Enter side length: " );
double side = scanner.NextDouble();
Console.WriteLine( "Area = " + GetSquareArea(side));
break ;
case 4:
Console.Write( "Enter length: " );
double length = scanner.NextDouble();
Console.Write( "Enter breadth: " );
double breadth = scanner.NextDouble();
Console.WriteLine( "Area = " + GetRectangleArea(length, breadth));
break ;
case 5:
flag = false ;
break ;
default :
Console.WriteLine( "Invalid Choice" );
break ;
}
}
catch (InvalidOperationException e)
{
Console.WriteLine(e.Message);
break ;
}
}
Console.WriteLine( "Program terminated" );
}
} |
// Function to return area of a circle function getCircleArea(radius) {
return Math.PI * Math.pow(radius, 2);
} // Function to return area of a triangle function getTriangleArea(base, height) {
return 0.5 * base * height;
} // Function to return area of a square function getSquareArea(side) {
return Math.pow(side, 2);
} // Function to return area of a rectangle function getRectangleArea(length, breadth) {
return length * breadth;
} // Main program let flag = true ;
while (flag) {
console.log( "Enter 1 to calculate the area of a circle" );
console.log( "Enter 2 to calculate the area of a triangle" );
console.log( "Enter 3 to calculate the area of a square" );
console.log( "Enter 4 to calculate the area of a rectangle" );
console.log( "Enter 5 to terminate the program" );
let choice = prompt( "Enter your choice: " );
if (choice == 1) {
let radius = parseFloat(prompt( "Enter radius: " ));
console.log( "Area =" , getCircleArea(radius));
} else if (choice == 2) {
let base = parseFloat(prompt( "Enter base: " ));
let height = parseFloat(prompt( "Enter height: " ));
console.log( "Area =" , getTriangleArea(base, height));
} else if (choice == 3) {
let side = parseFloat(prompt( "Enter side length: " ));
console.log( "Area =" , getSquareArea(side));
} else if (choice == 4) {
let length = parseFloat(prompt( "Enter length: " ));
let breadth = parseFloat(prompt( "Enter breadth: " ));
console.log( "Area =" , getRectangleArea(length, breadth));
} else if (choice == 5) {
flag = false ;
} else {
console.log( "Invalid Choice" );
}
} console.log( "Program terminated" );
|
Output:
Enter 1 to calculate the area of a circle
Enter 2 to calculate the area of a triangle
Enter 3 to calculate the area of a square
Enter 4 to calculate the area of a rectangle
Enter 5 to terminate the program
1
Enter radius: 14
Area = 615.752
Enter 1 to calculate the area of a circle
Enter 2 to calculate the area of a triangle
Enter 3 to calculate the area of a square
Enter 4 to calculate the area of a rectangle
Enter 5 to terminate the program
2
Enter base: 10
Enter height: 20
Area = 100
Enter 1 to calculate the area of a circle
Enter 2 to calculate the area of a triangle
Enter 3 to calculate the area of a square
Enter 4 to calculate the area of a rectangle
Enter 5 to terminate the program
3
Enter side length: 10
Area = 100
Enter 1 to calculate the area of a circle
Enter 2 to calculate the area of a triangle
Enter 3 to calculate the area of a square
Enter 4 to calculate the area of a rectangle
Enter 5 to terminate the program
4
Enter length: 5
Enter breadth: 10
Area = 50
Enter 1 to calculate the area of a circle
Enter 2 to calculate the area of a triangle
Enter 3 to calculate the area of a square
Enter 4 to calculate the area of a rectangle
Enter 5 to terminate the program
9
Invalid Choice
Enter 1 to calculate the area of a circle
Enter 2 to calculate the area of a triangle
Enter 3 to calculate the area of a square
Enter 4 to calculate the area of a rectangle
Enter 5 to terminate the program
5
Program terminated
Time Complexity: O(1)
Auxiliary Space: O(1)