#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
using namespace std;
int main () {
int numberOfPackages;
int totalPhoneUsage;
// Fees, Minutes Provided, rate for additonal minutes for all Packages
const float MONTHLYFEEA = 39.99;
const int MINSPROVIDEDA = 450;
const float RATEFORADDMINSA = 0.45;
const float MONTHLYFEEB = 59.99;
const int MINSPROVIDEDB = 900;
const float RATEFORADDMINSB = 0.40;
const float MONTHLYFEEC = 69.99;
float totalOver;
float totalA, totalB , totalC;
float totalDueA, totalDueB;
cout << "Select a subcription package: \n"
<<"1. Package A\n"
<<"2. Package B\n"
<<"3. Package C\n"
<<"4. Quit\n";
// User inputs which packaged theyed like
cin >> numberOfPackages;
switch (numberOfPackages){
case 1:{
cout << "You selected Package A\n";
break;
}
case 2:{
cout << "You selected Package B\n";
break;
}
case 3:{
cout << "You selected Package C\n";
break;
}
case 4: {
cout << "You selected Quit\n";
break;
return 0;
}
default: {
cout <<"Invalid choice.Run program again and select a number 1-4\n";
break;
return 0;
}
}
//Asking user for input on total phone usage in minutes
cout << "How many minutes were used?: ";
cin >> totalPhoneUsage;
cout << fixed << setprecision(2);
/*
This part calculates and displays the total due
*/
//Package A
if (numberOfPackages == 1){
if (totalPhoneUsage <= MINSPROVIDEDA){
cout << "The total amount due is $ "<< MONTHLYFEEA;
}
else if (totalPhoneUsage > MINSPROVIDEDA) {
float totalOver = (totalPhoneUsage - MINSPROVIDEDA) * RATEFORADDMINSA;
float totalDueA = MONTHLYFEEA + totalOver;
cout << "The total amount due is:$ " << totalDueA << endl;
}
}
//Package B
else if (numberOfPackages == 2){
if (totalPhoneUsage <= MINSPROVIDEDB) {
cout << "The total amount due is $ "<< MONTHLYFEEB; }
else if (totalPhoneUsage > MINSPROVIDEDB){
totalOver = (totalPhoneUsage - MINSPROVIDEDB) * RATEFORADDMINSB;
totalDueB = MONTHLYFEEB + totalOver;
cout << "The total amount due is:$ " << totalDueB << endl;
}
}
//Package C which has not extra charge )
else if (numberOfPackages == 3) {
cout << "The total amount due is $ " << MONTHLYFEEC << endl;
}
// savings
/*
Calculates total cost for all packages
in order to check for potential savings
*/
//Package A
if (totalPhoneUsage <= MINSPROVIDEDA) {
totalA = MONTHLYFEEA;
}
else {
totalA = MONTHLYFEEA + (totalPhoneUsage - MINSPROVIDEDA) * RATEFORADDMINSA;
}
// Package B
if(totalPhoneUsage <= MINSPROVIDEDB) {
totalB = MONTHLYFEEB;
}
else {
totalB = MONTHLYFEEB + (totalPhoneUsage - MINSPROVIDEDB) * RATEFORADDMINSB;
}
totalC = MONTHLYFEEC;
// displaying savings
if ( numberOfPackages == 1){
if (totalA > totalB) {
cout << "You would save $ "<< totalA - totalB << " with package B\n";
}
if (totalA > totalC) {
cout << "You would save $ " << totalA - totalC << " with package C.\n";
}
}
else if (numberOfPackages == 2) {
if (totalB > totalC) {
cout << "You would save $ "<< totalB - totalC << " with package C.\n";
}
}
return 0;
}