project number 4
Budget: $30 – $250 USD
In part 4, you will be focusing on allowing multiple of the four transactions listed. You will also be authenticating the user’s credentials (username and password) at least once. The customer’s account details are as follows:
Customer Username Password Account # Member Level Store Credit Address
Jane Smith jsmith blue123 123456789 Gold 3000.00 100 W New Haven Ave, Melbourne, FL 32901
Ellen Sue Doe edoe pink234 234567890 Blue 650.00 235 South Street, Bronx, NY, 21110
Michael Black mblack brown124 235765437 None 324.00 56 N Pathway Rd, Phoenix, AZ, 56565
John Carter jcarter green289 987654251 Diamond 9000.00 1060 W Addison St, Chicago, IL 60613
Product information is as follows:
SKU Name Items in unit Price per unit Quantity on Hand
HF-342 ½ in Bolt 50 20.00 200
LK-322 ¼ in Nail 25 5.75 76
KF-231 Hammer 1 15.23 100
The information above is found in the attached file, accounts.dat Download accounts.datand products.csv Download products.csvrespectively. You must read the information from these files to be able to complete the program. This information must be stored in a struct called Customer and Product. You should have vectors of structures. For this report, update the program to allow one of the above users to safely log in to their account, complete a maximum of 3 transactions, and end the program. The updated values must be written to the file after each transaction. Item transactions should be added to the transactions.da file when a new purchase is made. This should include the account number, customer name, item sku, quantity purchased, total cost, discount amount, tax amount, and the total of the transaction. Three incorrect attempts at entering the username and password will end the program.
1 – Purchase an item (make a new purchase)
2 – View all items (list all items available)
3 – Get an estimate (estimate the cost for purchasing an item)
4 – Update Account (update the user information)
5 – Log Out (exit/end the program)
Each of the 4 transactions should be defined in its own function. At the end you should have a minimum of 5 functions (including main). You may define additional functions as you see fit. The customer may purchase multiple of that item but not more than the available quantity on hand. All purchases are made with store credit; therefore, the user cannot purchase items exceeding their store credit. There is a 6% sales tax on all items. Customers are granted pre-tax discounts on purchases over specified amounts. The table below describes the discount rate based on membership level. Any incorrect transactions will display an appropriate error message. After the purchase is complete, show all details in a receipt format, including the updated credit balance.
Membership Level Discount Rate Required Spend
Diamond 12% $700+
Gold 8.5% $300+
Blue 6% $100+
Note that the Gold and Diamond level members are still allowed the lower discount rate if they do not meet their spend level. For example, if a gold or diamond member spends $200, they should receive a 6% discount. After updating the user account, it should display the updated account information to the user. The user cannot update their username.
Customer Username Password Account # Member Level Store Credit Address
Jane Smith jsmith blue123 123456789 Gold 3000.00 100 W New Haven Ave, Melbourne, FL 32901
Ellen Sue Doe edoe pink234 234567890 Blue 650.00 235 South Street, Bronx, NY, 21110
Michael Black mblack brown124 235765437 None 324.00 56 N Pathway Rd, Phoenix, AZ, 56565
John Carter jcarter green289 987654251 Diamond 9000.00 1060 W Addison St, Chicago, IL 60613
Product information is as follows:
SKU Name Items in unit Price per unit Quantity on Hand
HF-342 ½ in Bolt 50 20.00 200
LK-322 ¼ in Nail 25 5.75 76
KF-231 Hammer 1 15.23 100
The information above is found in the attached file, accounts.dat Download accounts.datand products.csv Download products.csvrespectively. You must read the information from these files to be able to complete the program. This information must be stored in a struct called Customer and Product. You should have vectors of structures. For this report, update the program to allow one of the above users to safely log in to their account, complete a maximum of 3 transactions, and end the program. The updated values must be written to the file after each transaction. Item transactions should be added to the transactions.da file when a new purchase is made. This should include the account number, customer name, item sku, quantity purchased, total cost, discount amount, tax amount, and the total of the transaction. Three incorrect attempts at entering the username and password will end the program.
1 – Purchase an item (make a new purchase)
2 – View all items (list all items available)
3 – Get an estimate (estimate the cost for purchasing an item)
4 – Update Account (update the user information)
5 – Log Out (exit/end the program)
Each of the 4 transactions should be defined in its own function. At the end you should have a minimum of 5 functions (including main). You may define additional functions as you see fit. The customer may purchase multiple of that item but not more than the available quantity on hand. All purchases are made with store credit; therefore, the user cannot purchase items exceeding their store credit. There is a 6% sales tax on all items. Customers are granted pre-tax discounts on purchases over specified amounts. The table below describes the discount rate based on membership level. Any incorrect transactions will display an appropriate error message. After the purchase is complete, show all details in a receipt format, including the updated credit balance.
Membership Level Discount Rate Required Spend
Diamond 12% $700+
Gold 8.5% $300+
Blue 6% $100+
Note that the Gold and Diamond level members are still allowed the lower discount rate if they do not meet their spend level. For example, if a gold or diamond member spends $200, they should receive a 6% discount. After updating the user account, it should display the updated account information to the user. The user cannot update their username.