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

• Difficulty Level : Basic
• Last Updated : 20 Apr, 2021

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++

 // C++ program to check if Tank will// overflow or not in given time#include 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

 // 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

 # 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#

 // 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

 \$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.?>

Javascript



Output:

Underflow

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up