$29.99
EE461L Lab3
Cellular Plan Invoice
A regional cellular carrier wants you to design and create a Proof of Concept (PoC) system to
handle the creation of monthly cellular plan bills. To start, we will build a simple prototype for
them using OOP concepts to prepare a cellular plan bill for a single period (e.g. a month). The
carrier has provided you information for one of their cellular plans to get started. You will use the
OOP concept of classes and objects to build the prototype.
Your program must allow a user to record the number of minutes per call made as well as the
number of texts sent. You must store details about this cell phone usage in the CellPhoneUsage
class. When the user completes recording minutes and text usage, your program must display
an invoice to the console with cell phone usage details.
Menu to be displayed for the user in the main program:
The following menu will be displayed to the user:
CELL PHONE PLAN USAGE
1. Update account info
2. Make call
3. Send texts
4. View current usage
5. Finalize bill
Note: When running the program, the user will enter the number of the menu item, NOT the
menu name (e.g. 2, not “Make call”).
Program requirements:
1. Define a class to store cell phone usage details.
2. Your program must store information about the cell phone plan in an instance (object) of the
CellPhoneUsage class.
3. Your program must define and call the following user-defined functions, in addition to the
main function, in a file that is different from CellPhoneUsage Class.
You may create additional functions, but the following functions in the main program are
required for full credit:
• Print product menu
• Get menu option from the user
• Verify the menu option is valid
• To be explicit, after a user executes 1 of the 5 function options, the code should NOT
terminate. It should ask if the user wants to input more function calls after each operation, and
the code should only terminate when the user tells the code to terminate.
• Assume all cell phone users have purchased the following cell phone plan:
o Plan costs 79.95 per month, and includes 500 minutes and 100 texts
o If the user exceeds the allotted minutes in a month, each additional minute costs
$0.25
o If the user exceeds the allotted texts in a month, each additional text costs $0.20
• Assume your program will record minutes used and texts sent as they occur, not just the
monthly totals. For example, when the user selects option 2 (Make Call), you will record the
number of minutes for that particular call. The CellPhoneUsage object will accumulate the total
minutes called as the program runs. This means that option 2 would be selected each time the
user makes a phone call.
• All program logic, other than the call to the main function, must be included in user-defined
functions. You may include additional logic, other than calls to functions, inside of main in the
main program. You may also create additional user-defined functions in the main program.
What to submit:
CellphoneUsage.py : A class that contains methods and attributes for the main program
<FirstName_LastName_HW3>.ipynb: The main program that calls the CellPhoneUsage class