iMobile.cpp iMobile is a mobile phone service company that offers three different data plans to its customers. O Plan A: Price: $39.99 per month. Data allowance: Includes 4 gigabytes of data. Additional data costs $10 per gigabyte. O Plan B: Price: $59.99 per month. Data Allowance: Includes 8 gigabytes of data. Additional data costs $5 per gigabyte. O Plan C: Price: $69.99 per month. Data Allowance: Unlimited

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter2: Basic Elements Of C++
Section: Chapter Questions
Problem 2MC
icon
Related questions
Question

Hi, need help with this code. my professor mentions that we need to use if and switch statements for this code. In not sure if both switch and if statements can be used in the same code. the code below only has if statements. can both switch and if can be used? need help please. I provided pictures of code instructions and how the output/input validation needs to look.

 

#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
//variables and constants
int packageType;
double dataUsed;
double monthlyCharges = 0.0;

// Name of the program
cout << "iMobile Bill Calculator ..." << endl;

// Display the pacakge options for user to pick
while (true)
{
cout << "\nSelect a subscription :" << endl;
;
cout << "\t\t1. Package A" << endl;
cout << "\t\t2. Package B" << endl;
cout << "\t\t3. Package C" << endl;
cout << "Package: ";
cin >> packageType;

// When a package number is not vaild
if (packageType >= 1 && packageType <= 3)
break;
else
cout << "Error ... Invalid package. Try again." << endl;
}
// When Gigabytes entered is not valid
while (true)
{
cout << "\nHow many gigabytes of data were used? ";
cin >> dataUsed;
if (dataUsed < 0)
{
cout << "Error ... Invalid gigabytes entered. Try again." << endl;
}
else
break;
}
// Monthtly Charges for Plan B
if (packageType == 1)
{
if (dataUsed >= 0 && dataUsed <= 4)
{
monthlyCharges = 39.99;
}
// Monthtly Charges for Plan A with additional data costs
else
{
monthlyCharges = 39.99 + (dataUsed - 4) * 10;
}
}
// Monthtly Charges for Plan B
else if (packageType == 2)
{
if (dataUsed >= 0 && dataUsed <= 8)
{
monthlyCharges = 59.99;
}
// Monthtly Charges for Plan B with additional data costs
else
{
monthlyCharges = 59.99 + (dataUsed - 8) * 5;
}
}
// Monthly Charges for Plan C
else if (packageType == 3)
{
monthlyCharges = 75;
}

// Display the monthly total amount
cout << "The total amount due is $" << monthlyCharges << endl;

return 0;
}

Output Samples
Microsoft Visual Studio Debug Console
iMobile Bill Calculator ...
Select a subscription package:
1. Package A
2. Package B
3. Package C
Package: 1
How many gigabytes of data were used? 12.5
The total amount due is $124.99
The Text version of the Output samples for the iMobile Service Provided program.
Input Validation
| Microsoft Visual Studio Debug Console
iMobile Bill Calculator ...
Select a subscription package:
1. Package A
2. Package B
3. Package c
Package: 0
Error
Invalid package. Try again.
...
A Microsoft Visual Studio Debug Console
iMobile Bill Calculator ...
Select a subscription package:
1. Package A
2. Package B
3. Package C
Package: 2
How many gigabytes of data were used? -100
Invalid gigabytes entered. Try again.
Error
...
Transcribed Image Text:Output Samples Microsoft Visual Studio Debug Console iMobile Bill Calculator ... Select a subscription package: 1. Package A 2. Package B 3. Package C Package: 1 How many gigabytes of data were used? 12.5 The total amount due is $124.99 The Text version of the Output samples for the iMobile Service Provided program. Input Validation | Microsoft Visual Studio Debug Console iMobile Bill Calculator ... Select a subscription package: 1. Package A 2. Package B 3. Package c Package: 0 Error Invalid package. Try again. ... A Microsoft Visual Studio Debug Console iMobile Bill Calculator ... Select a subscription package: 1. Package A 2. Package B 3. Package C Package: 2 How many gigabytes of data were used? -100 Invalid gigabytes entered. Try again. Error ...
iMobile Service Provided
O iMobile.cpp
iMobile is a mobile phone service company that offers three different data plans to its customers.
Plan A:
Price: $39.99 per month.
Data allowance: Includes 4 gigabytes of data. Additional data costs $10 per gigabyte.
Plan B:
Price: $59.99 per month.
Data Allowance: Includes 8 gigabytes of data. Additional data costs $5 per gigabyte.
O Plan C:
Price: $69.99 per month.
Data Allowance: Unlimited
Write a program that calculates a customer's monthly bill. It should prompt the user for the customer's plan and the number of
gigabytes of data used. It should then calculate and display the total amount due.
Notes
Use a menu to prompt user for Plan.
O Input Validation
Display an error message if the user enters an invalid menu option.
Do not allow negative values for data used.
O Display amount due, formatted with a precision of two decimal values.
Transcribed Image Text:iMobile Service Provided O iMobile.cpp iMobile is a mobile phone service company that offers three different data plans to its customers. Plan A: Price: $39.99 per month. Data allowance: Includes 4 gigabytes of data. Additional data costs $10 per gigabyte. Plan B: Price: $59.99 per month. Data Allowance: Includes 8 gigabytes of data. Additional data costs $5 per gigabyte. O Plan C: Price: $69.99 per month. Data Allowance: Unlimited Write a program that calculates a customer's monthly bill. It should prompt the user for the customer's plan and the number of gigabytes of data used. It should then calculate and display the total amount due. Notes Use a menu to prompt user for Plan. O Input Validation Display an error message if the user enters an invalid menu option. Do not allow negative values for data used. O Display amount due, formatted with a precision of two decimal values.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Np Ms Office 365/Excel 2016 I Ntermed
Np Ms Office 365/Excel 2016 I Ntermed
Computer Science
ISBN:
9781337508841
Author:
Carey
Publisher:
Cengage