Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Track Expenses Using Object - Oriented Programming Objectives: Design C + + class Build an application that has multiple files. Understand how to call methods

Track Expenses Using Object-Oriented Programming
Objectives:
Design C++ class
Build an application that has multiple files.
Understand how to call methods defined in C++ class
Handle input errors and invalid values
Description:
Write a menu-driven program that provides the following options:
1. Show All
2. Spend
3. Search expenses containing this string
4. Search expenses with greater than or equal to this amount
5. Exit
It allows the user to select a menu option to display all expenses, add new entry, search for a
substring and find the list of entries greater a given amount.
Requirements:
1. Create multiple C++ files (put them in the same directory/folder):
a. Create a header file called expense.h. This header file contains your
Expense class data definitions and method prototypes. (Hint: Look at
BankAccount.h in week 6 examples). All data members must be declared as
private and provide getter/setter methods to access them.
b. Create a new CCP file called expense.cpp to implement methods defined
your header file.
c. Create a main program called main-expense.cpp that displays the menu and
utilize your Expense (Expense must implement these methods) class to:
i. Display description and amount
ii. Determine if a substring is part of the description and return true or false
2. The program must produce the same output as provided. The output should be
formatted nicely as given.
3. The program must use array of Expense class. Hint: you must define a default
constructor in Expense.h to allow array declarations.
4. The program must not use global variables. In another words, it must use local variables
and pass-by-value or pass-by-reference parameters.
5. The program must define the maximum number of entries such as 100 and keeps track
of the actual count of the current number of expenses entered by the user. You can also
utilize vector class to keep track of your expense objects.
6. You should use data file to save or read from. At the beginning of your program, it reads
data from a data file named expenses.txt and initialize your object array with this data.
Your program must check to see if the file exists or has data to read. Before your
program exits, it must save all expenses amount and descriptions into the data file.
7. You must write at least 2 functions in main-expense.cpp.
8. You need to submit all header files, CPP files and data file expenses.txt
Required error handling:
The program MUST perform the following checks:
1. Check for invalid amount (negative or 0 number)
2. Description cannot be empty.
3. Search is case-insensitive (ignore case, but the user may type in any case).
Sample run:
D:\>TrackExpensesUsingArray.exe
Welcome to my expense tracker.
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 1
There is no expense entry available.
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 2
Please enter the description for the expense: Monthly telephone and
Internet services
Please enter the amount: 45.25
AMOUNT(45.25) DESC(Monthly telephone and Internet services)
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 2
Please enter the description for the expense: Monthly electric,
water and gas
Please enter the amount: 200.20
AMOUNT(200.2) DESC(Monthly electric, water and gas)
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 2
Please enter the description for the expense: Rent
Please enter the amount: 1200
AMOUNT(1200) DESC(Rent)
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 2
Please enter the description for the expense: Netflix membership
Please enter the amount: 12.90
AMOUNT(12.9) DESC(Netflix membership)
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 2
Please enter the description for the expense: Amazon membership
Please enter the amount: 99
AMOUNT(99) DESC(Amazon membership)
Expense Tracking Menu:
1. show all
2. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 2
Please enter the description for the expense: Monthly gym membership
Please enter the amount: 50
AMOUNT(50) DESC(Monthly gym membership)
Expense Tracking Menu:
1. show all
2. spen

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions

Question

regular exercisers

Answered: 1 week ago