I'm trying to write a code that calculates a cell phone bill. There are two different services: a regular service that is \$10.00 and the first 50 minutes are free and charges over 50 minutes are \$.20 per minute and the other a premium service that's \$25 and the first 75 day minutes are free and any over that are \$.10 and the first 100 night minutes are free and any over that are \$.05. This is what I have so far and for some reason I keep getting errors and I'm not sure why. Also, I'm not sure where to calculate the night minutes over 100. Any ideas?

``````#include <iostream>
using namespace std;

const double rServiceCost = 10.00;
const double rPerMinuteCharge = .20;
const double pServiceCost = 25.00;
const double pDayPerMinuteCharge = .10;
const double pNightPerMinuteCharge = .05;

int main()
{

int minutes;
int dayMinutes;
int nightMinutes;
char serviceCode;
int accountNumber;
double amountDue;

cout << "Enter an account number: ";
cin >> accountNumber;
cout << endl;

cout << "Enter a service code: R or r (regular), P or p (premium): ";
cin >> serviceCode;
cout << endl;

switch (serviceCode)
{
case 'r':
case 'R': cout << "Enter the number of minutes used: ";
cin >> minutes;
cout << endl;

if (minutes > 50)
amountDue = rServiceCost + ((minutes - 50) * rPerMinuteCharge);
cout << "Account number = " << accountNumber << endl;
cout << "Amount Due = \$" ,, amountDue << endl;

else
amountDue = rServiceCost;
break;

case 'p':
case 'P': cout << "Enter the number of day minutes used: ";
cin >> dayMinutes;
cout << endl;
cout << "Enter the number of night minutes used: ";
cin >> nightMinutes;
cout << endl;

if dayMinutes > 75
amountDue = pServiceCost + ((minutes - 75) *
pDayPerMinuteCharge);

else
amountDue = pServiceCost;

}
return 0;
}
``````

Edited by Dani: Formatting fixed

2
Contributors
3
Replies
4
Views
13 Years
Discussion Span
Last Post by Narue

>cout << "Amount Due = \$" ,, amountDue << endl;
You forgot to hit the shift key here, it should be:

``cout << "Amount Due = \$" << amountDue << endl;``
``````if (minutes > 50)
amountDue = rServiceCost + ((minutes - 50) * rPerMinuteCharge);
cout << "Account number = " << accountNumber << endl;
cout << "Amount Due = \$" << amountDue << endl;
else
amountDue = rServiceCost;``````

When the body of a conditional or loop is more than one statement, you must surround it in braces to make a compound statement:

``````if (minutes > 50) {
amountDue = rServiceCost + ((minutes - 50) * rPerMinuteCharge);
cout << "Account number = " << accountNumber << endl;
cout << "Amount Due = \$" << amountDue << endl;
}
else
amountDue = rServiceCost;``````

>if dayMinutes > 75
Don't forget to put the condition in parentheses:

``if (dayMinutes > 75)``

>I'm not sure where to calculate the night minutes over 100.
How about right after you calculate the day minutes over 75?

Would I do just another if else statement for the 100 minutes right after the 75? Thanks for all your help too!

>Would I do just another if else statement for the 100 minutes right after the 75?
Why not? Try it and see.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.