Program to check if tank will overflow, underflow or filled in given time

21 Jun, 2022
Given a tank with definite height and radius and the flow of water available to fill the tank. Determine whether the tank will overflow or not in a given amount of time. Note: The flow of water will be available in volume per minute.Examples:  
       --r=5--
   ----------   ^
   |         |  |
   |         |  |
   |         |  h = 10
   |         |  |
   ----------   ^
        
   rate_of_flow = 10

Input : given_time = 10.0
Output : Underflow

Input : given_time = 100.0
Output : Overflow
 
Approach: Volume of a cylindrical tank is (22/7) * radius * radius * height. First, find out the amount of time required to completely fill the tank then compare it with the given time. If the given time is greater than required time, it will result in an overflow condition. If the given time is less than the required time then it will result in an underflow condition otherwise the tank is filled.Below is the implementation of above approach:  
C++
Java
Python3
C#
PHP
Javascript
// C++ program to check if Tank will// overflow or not in given time#include <bits/stdc++.h>using namespace std; // function to calculate the volume of tankfloat volume(int radius, int height){    return ((22 / 7) * radius * radius * height);} // function to print overflow / filled /// underflow accordinglyvoid check_and_print(float required_time,                       float given_time){    if (required_time < given_time)        cout << "Overflow";    else if (required_time > given_time)        cout << "Underflow";    else        cout << "Filled";} // driver functionint main(){    int radius = 5, // radius of the tank        height = 10, // height of the tank        rate_of_flow = 10; // rate of flow of water             float given_time = 70.0; // time given         // calculate the required time    float required_time = volume(radius, height) /                                    rate_of_flow;         // printing the result    check_and_print(required_time, given_time);    return 0;}
// Java program to check if Tank will// overflow or not in given time class Number{    // function to calculate the volume of tank    public static float volume(int radius, int height)    {        return ((22 / 7) * radius * radius * height);    }     // function to print overflow / filled /    // underflow accordingly    public static void check_and_print(double required_time,                                       double given_time)    {        if (required_time < given_time)            System.out.print( "Overflow" );        else if (required_time > given_time)            System.out.print( "Underflow" );        else            System.out.print( "Filled" );    }         // driver code    public static void main(String[] args)    {        int radius = 5, // radius of the tank        height = 10, // height of the tank        rate_of_flow = 10; // rate of flow of water                 double given_time = 70.0; // time given             // calculate the required time        double required_time = volume(radius, height) /                                    rate_of_flow;             // printing the result        check_and_print(required_time, given_time);    }} // This code is contributed by rishabh_jain
# Python3 code to check if Tank will# overflow or not in given time # function to calculate the volume of tankdef volume(radius, height):    return ((22 / 7) * radius * radius * height)     # function to print overflow / filled /# underflow accordinglydef check_and_print( required_time, given_time):         if required_time < given_time:        print( "Overflow")    elif required_time > given_time:        print("Underflow")    else:        print("Filled") # driver coderadius = 5 # radius of the tankheight = 10 # height of the tankrate_of_flow = 10 # rate of flow of water         given_time = 70.0 # time given     # calculate the required timerequired_time = volume(radius, height) /rate_of_flow     # printing the resultcheck_and_print(required_time, given_time) # This code is contributed by "Sharad_Bhardwaj".
// C# program to check if Tank will// overflow or not in given timeusing System; class Number {         // function to calculate the volume of tank    public static float volume(int radius, int height)    {        return ((22 / 7) * radius * radius * height);    }     // function to print overflow / filled /    // underflow accordingly    public static void check_and_print(double required_time,                                          double given_time)    {        if (required_time < given_time)            Console.WriteLine("Overflow");        else if (required_time > given_time)            Console.WriteLine("Underflow");        else            Console.WriteLine("Filled");    }     // driver code    public static void Main()    {        int radius = 5, // radius of the tank            height = 10, // height of the tank            rate_of_flow = 10; // rate of flow of water         double given_time = 70.0; // time given         // calculate the required time        double required_time = volume(radius, height) / rate_of_flow;         // printing the result        check_and_print(required_time, given_time);    }} // This code is contributed by vt_m
<?php// PHP program to check if Tank will// overflow or not in given time // function to calculate// the volume of tankfunction volume($radius, $height){    return ((22 / 7) * $radius *              $radius * $height);} // function to print overflow// / filled / underflow accordinglyfunction check_and_print($required_time,                         $given_time){    if ($required_time < $given_time)        echo("Overflow");    else if ($required_time > $given_time)        echo("Underflow");    else        echo("Filled");} // Driver code // radius of the tank$radius = 5; // height of the tank$height = 10; // rate of flow of water$rate_of_flow = 10; // time given       $given_time = 70.0;     // calculate the required time$required_time = volume($radius, $height) /                            $rate_of_flow;     // printing the resultcheck_and_print($required_time, $given_time); // This code is contributed by Ajit.?>
<script> // JavaScript program to check if Tank will// overflow or not in given time     // function to calculate the volume of tank    function volume(radius, height)    {        return ((22 / 7) * radius * radius * height);    }       // function to print overflow / filled /    // underflow accordingly    function check_and_print(required_time,                                       given_time)    {        if (required_time < given_time)            document.write( "Overflow" );        else if (required_time > given_time)            document.write( "Underflow" );        else            document.write( "Filled" );    }  // Driver code                 let radius = 5, // radius of the tank        height = 10, // height of the tank        rate_of_flow = 10; // rate of flow of water                   let given_time = 70.0; // time given               // calculate the required time        let required_time = volume(radius, height) /                                    rate_of_flow;               // printing the result        check_and_print(required_time, given_time);                   </script>
Output: 
Underflow
Time Complexity: O(1)Auxiliary Space: O(1)
jit_t
sanjoy_62
singhh3010
Geometric
Mathematical
School Programming
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Program for distance between two points on earth
Optimum location of point to minimize total distance
Check if two given circles touch or intersect each other
Convex Hull | Set 1 (Jarvis's Algorithm or Wrapping)
Line Clipping | Set 1 (Cohen–Sutherland Algorithm)
Program for Fibonacci numbers
Set in C++ Standard Template Library (STL)
Write a program to print all permutations of a given string
C++ Data Types
Merge two sorted arrays