C Program to Calculate Telephone Call Bills

In this tutorial, we will learn about how to create a program in C that will ask from user to enter total number of telephone calls made in particular month. Here number of telephone calls means number of minutes. After receiving the total number of phone calls made in a month, the program will calculate and print the payable amount (for that month) as per the given call rate:

  • First 200 phones calls are free in every month
  • Next 300 calls are charged at the rate of 1/minute
  • And rest calls (after 500 calls or minutes) are charged at the rate of 2/minute

Let's take a look at the program.

#include<stdio.h>
#include<conio.h>
int main()
{
    int noOfCall, tempNoOfCall, charge;
    printf("Enter total unit of calls made this month: ");
    scanf("%d", &noOfCall);
    printf("\n");
    if(noOfCall<=200)
    {
        printf("You have not crossed the limit of 200 calls");
        printf("\nNo charge.");
    }
    else
    {
        if(noOfCall<=500)
        {
            tempNoOfCall = noOfCall - 200;
            charge = tempNoOfCall * 1;
            printf("The charge you have to paid = %d", charge);
        }
        else
        {
            tempNoOfCall = noOfCall - 500;
            charge = tempNoOfCall * 2;
            charge = charge + 300;
            printf("The charge you have to paid = %d", charge);
        }
    }
    getch();
    return 0;
}

As the above program was written under Code::Blocks IDE, therefore after successful build and run, here is the similar output you will see on your output screen, this is the first snapshot of the sample run:

c program calculate phone call bills

Here user has to enter that how many number of calls (total number of unit or minutes) that he/she has made in the previous month. For example, let's suppose that the telephone user has made total of 167 minutes of phones calls in previous month. Therefore, user has to supply the input as 167 and then press ENTER key to see the charge that has to be paid for the previous month as shown in the second snapshot of the sample run given here:

c program print phone calls bill

As the first 200 calls or minutes of talk are free and user has only made total of 167 minutes of call, therefore no charge he/she has to be paid for the previous month. Here is another sample run, but this time user has crossed the limit of free 200 calls:

print phone calls charge c program

Here is another sample run. This time let's suppose that the user has made total of 2460 minutes of calls in previous month. Therefore the charge is shown in the sample run given below:

print phone call bill c program

Here are some of the main steps used in above program:

  • Receive total number of calls or minutes made in previous month by telephone user
  • Now check whether the input is less than or equal to 200 or not
  • If it is, then print a message like you have not crossed the limit of first 200 calls, therefore the telephone user has not to paid any extra charge for previous month
  • And if user has crossed the limit of first 200 calls or minutes, then check whether the call is less than or equal to 500 or not
  • If it is, then subtract the input value (let's suppose input value is stored inside a variable say noOfCall) with 200 and multiply the remaining value (let's suppose that the remaining value (remaining number of calls or minutes) stored in a variable say tempNoOfCall) with 1. As the first 200 calls are free and thereafter we have to charge 1/minute or call. That is multiply tempNoOfCall of call's value with 1 and then initialize it to a variable say charge (it holds the charge that has to be paid)
  • And if user has made 600 calls in previous month, then it is greater than first 500 calls, then we have to calculate the amount that has to be paid in a way given below
  • Initialize noOfCall - 500 or 600-500 or 100 to tempNoOfCall. Now the variable say tempNoOfCall holds the value (or no of calls) that has to be charged at the rate of 2/minute.
  • Therefore initialize tempNoOfCall * 2 or 100 * 2 or 200 to charge
  • As the first 200 calls are free, and then next 300 calls are charged at the rate of 1 per call
  • Therefore, we have to add 300*1 or 300 to the charge variable. That is charge + 300 or 200+300 or 500 will be initialized to the charge variable
  • Now whatever the final charge (that has to be paid by the user for the previous month of telephone bills) will be, the charge variable holds it
  • Finally print the value of charge

C Online Test


« Previous Program Next Program »

Follow/Like Us on Facebook




Subscribe Us on YouTube