# 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 Rs.1/minute
• And rest calls (after 500 calls or minutes) are charged at the rate of Rs.2/minute

Let's take a look at the program.

```// Write a program in C, that will accept the
// no of calls (unit say per minute) made
// and print the amount payable, using following condition:
// First 200 calls are Free.
// Next 300 calls are @ Rs.1/unit.
// And rest calls are @ Rs.2/unit.
// -----------codescracker.com-----------

#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 = Rs.%d", charge);
}
else
{
tempNoOfCall = noOfCall - 500;
charge = tempNoOfCall * 2;
charge = charge + 300;
printf("The charge you have to paid = Rs.%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: 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: 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: 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: 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 Rs.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 Rs.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 Rs.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

Tools
Calculator