#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
string acctnum;
char servcode;
int minutes;
int overage;
int minutesAmToPm;
int minutesPmToAm;
int minuteCheck;
int overageAmToPm;
int overagePmToAm;
bool minutesCheckBool;
double overageCost;
double overageAmToPmCost;
double overagePmToAmCost;
double totalBill;
cout << "Please enter your account number: ";
cin >> acctnum;
cout << endl
<< "Service codes: \n"
<< "R = Regular Service\n"
<< "P = Premium Service\n"
<< endl
<< "Please enter your service code: ";
cin >> servcode;
cout << "How many minutes have you used? " << endl
<< "Minutes: ";
cin >> minutes;
if (servcode == 'r', 'R') //Regular Service
{
overage = minutes - 50;
overageCost = overage * 20;
totalBill = (overageCost / 100) + 10;
cout << "\nAccount Number: " << acctnum << endl
<< "Service Type: Regular \n"
<< "Access Fee: $10\n"
<< "Minutes Used: " << minutes << " / 50\n"
<< "Minutes Over: " << overage << endl
<< "Overage Cost: $" << setprecision(2) << fixed << overageCost / 100 << " ($0.20 per minute.)\n"
<< endl
<< "Total Amount Due: $" << setprecision(2) << fixed << totalBill;
}
else if (servcode == 'p', 'P') //Premium Service
{
while (minutesCheckBool == 0) //Allows the user to reinput information instead of terminating the program.
{
cout << "You used a total of " << minutes << " minutes.\n"
<< "How many of those minutes were between 6:00am and 6:00pm?\n";
cin >> minutesAmToPm;
cout << "Now how many of those minutes were between 6:00pm and 6:00am?\n";
cin >> minutesPmToAm;
minuteCheck = minutesAmToPm + minutesPmToAm;
if (minuteCheck > minutes)
cout << "Sorry, you input more than your total minutes. Please try again.";
else
minutesCheckBool = 1; //User's information is correct, so the loop ends.
}
if (minutesCheckBool = 1) //doesn't run calculations until the user input information.
{
overageAmToPm = minutesAmToPm - 75;
overageAmToPmCost = overageAmToPm * 10;
overagePmToAm = minutesPmToAm - 100;
overagePmToAmCost = overagePmToAm * 5;
totalBill = ((overagePmToAmCost + overageAmToPmCost) / 100) + 25;
cout << "Account Number: " << acctnum << endl
<< "Service Type: Premium\n"
<< "Access Fee: $25\n"
<< "Minutes Used: " << minutes << endl
<< "Daytime Minutes: " << minutesAmToPm << endl
<< "Night-Time Minutes: " << minutesPmToAm << endl
<< "Day Charges: " << setprecision(2) << fixed << overageAmToPmCost / 100 << " for $0.10 a minute over 75 minutes.\n"
<< "Night Charges: " << setprecision(2) << fixed << overagePmToAmCost / 100 << " for $0.05 a minute over 100 minutes.\n"
<< "Total Amount Due: $" << setprecision(2) << fixed << totalBill;
}
}
cin.ignore(100, '\n');
cin.get();
return 0;
}