I am studying C++ for personal interest and found that this program is very confusing. Just for my personal satisfaction i want this program completed so i can study it myself and thus further my knowledge in C++. I am willing to pay what is needed for completion before sunday afternoon. Thank you for your help and consideration
1. Write a function calculateItemCost prototyped by
double calculateItemCost(double itemPrice, char discountType, unsigned quantity);
so that the execution of this function will return the price for quantity number of the item priced originally at itemPrice each, and currently discounted according to discountType. For instance, calculateItemCost(10.90, 'D', 2) will return 17.44 because 17.44=10.9*0.8*2. Likewise calculateItemCost(5.50, 'B', 4) will return the value 19.8=5.50*0.9*4.
2. Write a function displayTotalCost prototyped by
void displayTotalCost(double totalCost, unsigned recordNum, bool aborted);
so that the execution of this function will first display the total sale cost stored in variable totalCost and the total number of sale records stored in recordNum. If aborted is true, then the function will also display an error message to the effect "Input terminated by invalid data at record" followed by the corresponding record value. For example, displayTotalCost(55.55, 3, false) could just display
Total sale cost (3 records) = $55.55
while displayTotalCost(66.66, 7, true) could display
Total sale cost (7 records) = $66.66
Input terminated by invalid data at record 8.
3. Write a function readSaleRecord prototyped by
int readSaleRecord(unsigned & itemId, double & itemPrice,
char & discountType, unsigned & quantity);
so that the execution of this function will retrieve 4 fields, i.e. the item ID itemId, the original item price itemPrice, the discount type discountType and the quantity quantity, from the stdin device. The returned value will be 0 if the reading has been successful, and will be non-zero if otherwise. In fact, when the record is not successfully read, the returned value will be 1 if it's due to receiving 0 for the item ID or hitting the EOF, and will be -1 if otherwise.
Enter
-> item ID: 101024
-> full item price: 199.95
-> discount type: D
-> quantity: 1
Complete the rest of the program. Below is the screenshot of executing a possible implementation.
Enter
-> item ID: 101023
-> full item price: 149.95
-> discount type: B
-> quantity: 1
Enter
-> item ID: 101024
-> full item price: 199.95
-> discount type: D
-> quantity: 1
Enter
-> item ID: 100001
-> full item price: 19.99
-> discount type: N
-> quantity: 5
Enter
-> item ID: 100002
-> full item price: 39.99
-> discount type: N
-> quantity: 2
Enter
-> item ID: 103067
-> full item price: 1999
-> discount type: T
-> quantity: 1
Enter
-> item ID: 0
Total sale cost (5 records) = $1874.15