Program to calculate Electricity Bill



Program to calculate Electricity Bill

Given an integer U denoting the amount of KWh units of electricity consumed, the task is to calculate the electricity bill with the help of the below charges:

  • 1 to 100 units – Rs. 10/unit
  • 100 to 200 units – Rs. 15/unit
  • 200 to 300 units – Rs. 20/unit
  • above 300 units – Rs. 25/unit

Examples:

 

Output: 3500
Explanation:
Charge for the first 100 units – 10*100 = 1000
Charge for the 100 to 200 units – 15*100 = 1500
Charge for the 200 to 250 units – 20*50 = 1000
Total Electricity Bill = 1000 + 1500 + 1000 = 3500
Input: U = 95
Output: 950
Explanation:
Charge for the first 100 units – 10*95 = 950
Total Electricity Bill = 950

Approach: The idea is to identify the charge bar in which it falls and then calculate the bill according to the charges mentioned above. Below is the illustration of the steps:

  • Check units consumed is less than equal to the 100, If yes then the total electricity bill will be:

\text{Total Electricity Bill} = (\text{units} * 10)

  • Else if, check that units consumed is less than equal to the 200, if yes then total electricity bill will be:

\text{Total Electricity Bill} = (100*10) + (\text{units}-100) * 15

  • Else if, check that units consumed is less than equal to the 300, if yes then total electricity bill will be:

\text{Total Electricity Bill} = (100*10) + (100*15) + (\text{units}-200) * 20

  • Else if, check that units consumed greater than 300, if yes then total electricity bill will be:

\text{Total Electricity Bill} = (100*10) + (100*15) + (100*20) + (\text{units}-300) * 25

Below is the implementation of the above approach:

// C++ implementation to calculate the
// electricity bill
#include<bits/stdc++.h>
using namespace std;
// Function to calculate the
// electricity bill
int calculateBill(int units)
{
    // Condition to find the charges
    // bar in which the units consumed
    // is fall
    if (units <= 100)
    {
        return units * 10;
    }
    else if (units <= 200)
    {
        return (100 * 10) +
               (units - 100) * 15;
    }
    else if (units <= 300)
    {
        return (100 * 10) +
               (100 * 15) +
               (units - 200) * 20;
    }
    else if (units > 300)
    {
        return (100 * 10) +
               (100 * 15) +
               (100 * 20) +
               (units - 300) * 25;
    }
    return 0;
}
// Driver Code
int main()
{
    int units = 250;
    cout << calculateBill(units);
}
// This code is contributed by spp____

Output:

3500

 

Last Updated on November 13, 2021 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs