954,492 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

cell bil

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
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;
}

dal4488
Newbie Poster
17 posts since Feb 2005
Reputation Points: 10
Solved Threads: 0
 

>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?

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

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

dal4488
Newbie Poster
17 posts since Feb 2005
Reputation Points: 10
Solved Threads: 0
 

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

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You