Develop a C++ program to solve the problem described below:
The cashier's office needs a C++ program that they can use to keep track of a cashier's daily financial transactions.
The user (cashier) will load the program just before he/she opens for operation each day and continues to use the program until he/she is done for the day.
When the program is loaded, it should first establish all relevant user-specified parameters which are the name of output file, the minimum cash balance below which to display a warning message (further described below) and the starting cash balance (which is the amount of cash he/she is given at the beginning of the business day).
It should next output (to terminal and output file) messages regarding the user-specified parameters (described above) and the starting check balance (which is always $0.00).
The program will then process transactions one at a time, adjust the current balances accordingly (i.e., the amount of a transaction is deducted from the current cash balance for the case of a debit transaction where the cashier pays cash to a customer, the amount of a transaction is added to the current cash balance for the case of a cash credit transaction where the cashier receives cash, which may be from a customer or from his/her supervisor when the current cash balance runs low, and the amount of a transaction is added to the current check balance for the case of a check credit transaction where the cashier receives a check), and keep track of the total count and total amount of each type of transaction processed.
After each transaction, a message about the transaction just made and the updated balance should be displayed.
An additional warning message should also be displayed if the current cash balance has been updated and the new amount is below the minimum balance (specified by the user when the program loads, as mentioned earlier) to remind the cashier to get more cash from his/her supervisor.
If an attempted debit transaction cannot be completed successfully (because there is not enough cash available), an error message should be displayed instead.
When the cashier is done for the day and chooses to quit the program, the starting and final balances should be displayed, along with the total count and total amount of each type of transaction processed for the day.
For a more permanent record, the cashier's office would like to also write all displayed messages (BUT NOT input prompts and user input) to a file.
The cashier's office would like the program to enable the user to specify the name of the output file when the program loads (as mentioned earlier).
Please find the solution properly described in the attached file in a step by ...
The expert develops a C++ program to solve a problem.