We chose the budget tracker as a project for the CS214 Data Structure lab course, which aims to provide a tool for students to manage their income and expenses. The program should offer basic and important functionalities for tracking income, categorizing expenses, and calculating the budget.
-
Inputs:
- Income: Users will first enter their monthly salary, and after that, they can add any additional income to their budget along with the category of income.
- Expense: Users will be able to enter expenses with their categories and amounts to track all transactions.
- Income/Expense ID: Users can modify any transaction by entering its ID to change the amount, category, or type.
-
Outputs:
- Summary: The program will show the summary of all transactions in a well-formatted way with the following information:
- Total Income
- Total Expense
- Current balance (Total Income – Total Expense) showing ID and category of each Income and expense
- Warnings: If the budget reaches a limit of $200, a message will appear to the user.
- Error handling: The program will also have basic error handling for invalid inputs and prompt the user to re-enter the correct input.
- Summary: The program will show the summary of all transactions in a well-formatted way with the following information:
-
Main Menu:
- The program will display a menu offering the following options:
- Enter Income
- Enter Expense
- Delete Last Expense or Income
- Modify a selected expense or income
- Print summary
- Exit
- The program will display a menu offering the following options:
-
Enter Expense or Income:
- The program will store the income or expense details inside a linked list.
-
View Summary:
- This function will calculate the total balance and list all income and expenses.
-
Modify Income or Expense:
- This method will offer the ability to change any existing transaction to modify the amount, category, or type by entering the ID.
-
Delete Last Income or Expense:
- This method will allow the user to undo their last action, such as entering a new income or expense, by deleting it from the linked list.
-
Enter Salary:
- The first thing the user will do is enter their monthly salary.
-
Exit:
- If the user wishes to terminate the program, they can do so by choosing the exit option from the menu.