Question
Objectives: Perform C++ string object manipulation Understand how to manipulate data using arrays Handle input errors and invalid values Design and create a well-structure program
Objectives:
Perform C++ string object manipulation
Understand how to manipulate data using arrays
Handle input errors and invalid values
Design and create a well-structure program using C++ basic programming constructs
Description:
Write a menu-driven program that provides the following options:
Show All
Spend
Search expenses containing this string
Search expenses with greater than or equal to this amount
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:
The program must produce the same output as provided. The output should be formatted nicely as given.
The program must use array of structs
The program must not use global variables. In another words, it must use local variables and pass-by-value or pass-by-reference parameters.
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 should not use data file to save or read from. All operations should be done through the use of arrays and array indices.
You must write at least 2 functions.
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
sample (please check this)...!
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. spend
3. search expenses containing this string
4. search expenses with greater than or equal to this amount
5. exit
Enter your option: 1
Expenses:
AMOUNT(45.25) DESC(Monthly telephone and Internet services)
AMOUNT(200.2) DESC(Monthly electric, water and gas)
AMOUNT(1200) DESC(Rent)
AMOUNT(12.9) DESC(Netflix membership)
AMOUNT(99) DESC(Amazon membership)
AMOUNT(50) DESC(Monthly gym 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: 3
Please enter the search string: membership
AMOUNT(12.9) DESC(Netflix membership)
AMOUNT(99) DESC(Amazon membership)
AMOUNT(50) DESC(Monthly gym 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: 3
Please enter the search string: MEMBERSHIP
AMOUNT(12.9) DESC(Netflix membership)
AMOUNT(99) DESC(Amazon membership)
AMOUNT(50) DESC(Monthly gym 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: 4
Please enter the amount: 50
AMOUNT(200.2) DESC(Monthly electric, water and gas)
AMOUNT(1200) DESC(Rent)
AMOUNT(99) DESC(Amazon membership)
AMOUNT(50) DESC(Monthly gym 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: 4
Please enter the amount: 200
AMOUNT(200.2) DESC(Monthly electric, water and gas)
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: 4
Please enter the amount: 1000
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: Home repair and improvement
Please enter the amount: -1
Invalid amount. Amount cannot be negative or string. Please try it again.
Please enter the amount: -100
Invalid amount. Amount cannot be negative or string. Please try it again.
Please enter the amount: -1000
Invalid amount. Amount cannot be negative or string. Please try it again.
Please enter the amount: 175.75
AMOUNT(175.75) DESC(Home repair and improvement)
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
Expenses:
AMOUNT(45.25) DESC(Monthly telephone and Internet services)
AMOUNT(200.2) DESC(Monthly electric, water and gas)
AMOUNT(1200) DESC(Rent)
AMOUNT(12.9) DESC(Netflix membership)
AMOUNT(99) DESC(Amazon membership)
AMOUNT(50) DESC(Monthly gym membership)
AMOUNT(175.75) DESC(Home repair and improvement)
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: 5
D:\>
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started