Question: Scenario: You have been tasked with creating a budget breakdown calculator for college students. While commercial ones are certainly available, why on Earth would you

Scenario:
You have been tasked with creating a budget breakdown calculator for college students. While commercial ones are certainly available, why on Earth would you pay for something you can create yourself. As such, you find yourself on a team of amazing people and the team will make a free program.
Program Parameters:
These are the following program parameters. Your program must perform all of these tasks.
- Present a user with the following menu options:
-1) Create User (This should allow the user to create a new user and will prompt as specified below.)
-2) Add User's Expenses (Allows the user to list sources of expenses.)
-3) Generate Report (Generates a report on the user. Must prompt to see if the user's info is already stored in a file.)
-4) Print Terms of Use (Seriously have fun with this one and print whatever amuses you.)
-5) End Program
- Create user base specification:
- Must collect the user's: first_name, last_name, R\#, total_yearly_revenue.
- Must store this to a file called "userinfo.txt"
- Sends user to main menu upon completion.
- Add user's expenses:
- Request the user's R\#
- Determines if the user has already been created. (i.e., exists in userinfo.txt)
- If Yes:
- List all current expenses stored in file "rxxxxxxxx_expenses.txt"
- Ask for more monthly expenses (source, amount, classification). Example: electric, \$200, utility
- Stores additions to user's expenses file (naming convention above).- If No:
- Warns user has not been created.
- Sends user back to main menu.
- Generate Report
- Prompts the user for R\# to generate report for given user.
- Prompts the user to generate report to either the console or to a file.
- Report should generate the following:
- Name:
- R\#:
- Total Income (Revenue):
- Total Expenses:
- Highest Expenses Category (List Category and Amount)
- Preferred Expenses (This should be \(50\%\) of total income)
- Statement of Current Budget (Have fun with this. Classify based upon percentage of expense to income. You can specify how many levels and how much to write).
- Itemized list of expenses.
- Print Terms of Use
- Generate terms of use to the console. Have fun with this.
Final Notes:
You are free to design this however you see fit, however the following items must be true.
- Most functions that compute things should be in your library.
- All data files should be stored in the same directory as the .py file.
Grading (Based out of 30 points):
1. Code runs with no errors: 10 points
DON'T SUBMIT CODE THAT BREAKS ON RUN!!!
2. Meeting Program Parameters: 15 points
a. Menu System
b. Create User System
c. User Expense System
d. Reports System
e. Terms of Use System
3. Style and Design: 5 points
a. Did you use a library?
b. Did you use a main function?
c. Did you use functions?
d. Do your functions return values rather than using globals?
e. Use your best judgment based on examples from throughout the semester.
Scenario: You have been tasked with creating a

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!