hi!! I'm in need of major homework help. I have to write a program using functions that basically outputs a phone bill to the monitor. I honestly can't seem to grasp the concept of functions and am having some trouble finishing my code. Ignore the switch case right now, i'm having trouble with what to place in my writeOutPut function and my getMinutes functions:
#include <iostream>
#include <iomanip>
#include <string>
usingnamespace std;
constdouble REG_SERV_CHARGES = 10.00;
constint REG_FREE_MINUTES = 50;
constdouble REG_RATE_OVER_50 = 0.20;
constdouble PREM_SERV_CHARGES = 25.00;
constint PREM_FREE_DAY_MINUTES = 75;
constdouble PREM_DAY_RATE_OVER_75 = 0.10;
constint PREM_FREE_NIGHT_MINUTES = 100;
constdouble PREM_NIGHT_RATE_OVER_100 = 0.05;
int getMinutes (string promptMessage);
void regularAmtDue (int minUsed, double &amtDue);
void premiumAmtDue (int dayMin, int nightMin, double &amtDue);
void writeOutput (int minutes1, int minutes2, double amtDue, char service);
int main()
{
char serviceType;
int minutesUsed;
int minutesUsedPN;
double amountDue;
cout << fixed << showpoint;
cout << setprecision(2);
cout << "Enter service type: (r or R) for regular, "
<< "(p or P) for premium service: " << endl;
cin >> serviceType;
cout << endl;
switch (serviceType)
{
case'r':
case'R':
// call getMinutes for minutes of service here
// call regularAmtDue here
// call writeOutput here
break;
case'p':
case'P':
// call getMinutes for day minutes here
// call getMinutes for night minutes here
// call premiumAmtDue here
// call writeOutput here
break;
default:
cout << "Invalid Service Type" << endl;
}//end switch
system("PAUSE");
return 0;
} // end main
int getMinutes (string promptMessage)
{
//-------------------------------------------------------------------
// getMinutes is a value returning function that accepts a string and
// prompts the user for the number of minutes then returns this value
// to main.
//-------------------------------------------------------------------
} // end getMinutes
void regularAmtDue (int minUsed, double &amtDue)
{
if (minUsed <= 50)
{
amtDue = REG_SERV_CHARGES;
}
elseif (minUsed > 50)
{
amtDue = REG_SERV_CHARGES + minUsed * REG_RATE_OVER_50;
}
} // end regularAmtDue
void premiumAmtDue (int dayMin, int nightMin, double &amtDue)
{
if (dayMin <= 75)
{
amtDue = PREM_SERV_CHARGES;
}
elseif (nightMin > 100)
{
amtDue = PREM_SERV_CHARGES + (nightMin * PREM_NIGHT_RATE_OVER_100);
}
elseif(nightMin > 100 && dayMin > 75)
{
amtDue = PREM_SERV_CHARGES + (dayMin * PREM_DAY_RATE_OVER_75)
+ (nightMin * PREM_NIGHT_RATE_OVER_100);
}
else
{
amtDue = PREM_SERV_CHARGES + (dayMin * PREM_DAY_RATE_OVER_75);
}
} // end premiumAmtDue
void writeOutput (int minutes1, int minutes2, double amtDue, char service)
{
//------------------------------------------------------------------------------------
// writeOutput is a void function
// All parameters passed by value.
// This function determines which service type is used and based on that decision
// writes the appropriate set of output statements.
// When calling this function any int parameter not used can be passed 0 in that
// position.
//-------------------------------------------------------------------------------------
} // end writeOutput
can someone please please please please please point me in the right direction,thanks!
Could you copy and paste the assignment so we know what you are supposed to do? It's hard to 'write a program using functions' without know what functions you need.
Write a program that calculates and prints the bill for a cellular telephone company. The company offers two types of service: regular and premium. Its rates vary, depending on the type of service. The rates are computed as follows:
Regular: $10.00 plus first 50 minutes are free. Charges for over 50 minutes are $0.20 per minute.
Premium: $25.00 plus for calls made from 6 am to 6 pm, the first 75 minutes are free; charges for more than 75 minutes are $0.10 per minute. For calls made from 6pm to 6am, the first 100 minutes are free; charges for more than 100 minutes are $0.05 per minute.
Your program should prompt the user to enter a service type (type char), and the number of minutes the service was used. A service code of r or R means regular service; a service code of p or P means premium service. Treat any other character as an error. Your program should output the type of service, number of minutes the telephone service was used, and the amount due from the user.
For the premium service, the customer may be using the service during the say and the night. Therefore, to calculate the bill, you must ask the user to input the number of minutes the service was used during the day and the number of minutes the service was used during the night.
All input is to be read via cin.
• All output is written via cout.
• Format the output stream to show the decimal point and two places after the decimal because
of monetary values.
• NOTE: Constants declared in the global section of the source code can be seen in all functions.
They DO NOT have to be passed as parameters. They can be simply used in the function.
Then, decide which tasks you will use over and over and make functions for them so you need only call the function rather than rewrite code over and over. ;)
} // end main
//-------------------------------------------------------------------
// getMinutes is a value returning function that accepts a string and
// prompts the user for the number of minutes then returns this value
// to main.
//-------------------------------------------------------------------
int getMinutes (string promptMessage){
} // end getMinutes
//-----------------------------------------------------------------------
// regularAmtDue is a void function
// minUsed - passed by value, number of minutes used in regular service
// amtDue - passed by reference, calculated amount due for regular
// service type.
//-----------------------------------------------------------------------
void regularAmtDue (int minUsed, double &amtDue) {
} // end regularAmtDue
//------------------------------------------------------------------------------------
// premiumAmtDue is a void function
// dayMin - passed by value, number of minutes used during day for premium service
// nightMin - passed by value, number of minutes used during night for premium service
// amtDue - passed by reference, calculated amount due for premium service type.
//-------------------------------------------------------------------------------------
void premiumAmtDue (int dayMin, int nightMin, double &amtDue){
} // end premiumAmtDue
//------------------------------------------------------------------------------------
// writeOutput is a void function
// All parameters passed by value.
// This function determines which service type is used and based on that decision
// writes the appropriate set of output statements.
// When calling this function any int parameter not used can be passed 0 in that
// position.
//-------------------------------------------------------------------------------------
void writeOutput (int minutes1, int minutes2, double amtDue, char service){
} // end writeOutput