Tutorials
Examples
Tests

# C++ Program to Calculate Telephone Call Bills

This article provides some programs in C++ that find and prints the bills amount based on the telephone calls made. The number of telephone calls must be entered by user at run-time. Here are the list of programs, this article deals with:

• Calculate Telephone Call Bills without Function
• Calculate Telephone Call Bills using user-defined Function
• Calculate Telephone Call Bills using Class and Object

The telephone call bills are charged in this way:

• First 150 calls are free
• Next 250 calls (151-400 minute) are charged at the rate of 1/minute
• And all calls after 400 minutes, are charged at the rate of 2/minute

For example, if customer made a total call of 620 minutes. Then calculation of phone call bills charge goes like:

```620 calls = 150 (Free) + 250 (at 1/minute) + 220 (at 2/minute)
= 0 + (250*1) + (220*2)
= 250 + 440
= 690```

Therefore, 690 is the phone call bills that will get charge after attending 620 calls or 620 minutes of calls.

## Calculate Phone Call Bills without Function

The question is, write a program in C++ that calculate and prints the phone bills that has to be paid based on the total calls, entered by user at run-time. The program given below is the answer to this question:

```#include<iostream>

using namespace std;
int main()
{
int ncall, temp, charge;
cout<<"Enter Total Number of Calls Made: ";
cin>>ncall;
if(ncall<=150)
cout<<"\nNo charge!";
else
{
ncall = ncall - 150;
if(temp<=250)
charge = temp*1;
else
{
temp = ncall-250;
charge = 250 + (temp*2);
}
cout<<"\nTotal Phone Bill to Paid: "<<charge;
}
cout<<endl;
return 0;
}```

Here is the initial output produced by above C++ program on calculating phone call bills based on the calls made:

Now type or enter the total number of calls made to find and print the charge that has to be paid. Here is the sample run with user input 620 as total calls (minutes of calls) made:

## Calculate Phone Call Bills using Function

This program does the same job as of previous program. But the only difference is, this program is created using a user-defined function named phone_call(), that takes the number of calls made, as its argument and returns the bill amount that has to be paid based on the calls made.

```#include<iostream>

using namespace std;
int phone_call(int);
int main()
{
int calls, amount;
cout<<"Enter Total Number of Calls Made: ";
cin>>calls;
amount = phone_call(calls);
cout<<"\nTotal Phone Bill to Paid: "<<amount;
cout<<endl;
return 0;
}
int phone_call(int ncall)
{
int temp, charge;
if(ncall<=150)
return 0;
else
{
ncall = ncall - 150;
if(temp<=250)
charge = temp*1;
else
{
temp = ncall-250;
charge = 250 + (temp*2);
}
return charge;
}
}```

This program does the same job as of previous program with exactly same looking output as of previous program's output.

## Calculate Phone Call Bills using Class

This is the last program of this article, created using class. That is, the class named CodesCracker, with two private variables namely temp and charge and a public member function named phone_call() is created. And using the object (cobj) of this class (as created inside main()), the member function phone_call() gets accessed.

```#include<iostream>

using namespace std;

class CodesCracker
{
private:
int temp, charge;
public:
int phone_call(int);
};
int CodesCracker::phone_call(int ncall)
{
if(ncall<=150)
return 0;
else
{
ncall = ncall - 150;
if(temp<=250)
charge = temp*1;
else
{
temp = ncall-250;
charge = 250 + (temp*2);
}
return charge;
}
}

int main()
{
int calls, amount;
CodesCracker cobj;

cout<<"Enter Total Number of Calls Made: ";
cin>>calls;

amount = cobj.phone_call(calls);
cout<<"\nTotal Phone Bill to Paid: "<<amount;
cout<<endl;
return 0;
}```

This program also does the same job as of very first program, and produces similar output as of that one. The only difference is its approach. That is, this program is created using class and object.

C++ Online Test

« Previous Program Next Program »