1. As with all projects in this course, your program’s output will display your name, your EUID, your e-mail address, the department name, and course number. This means that your program will print this information to the terminal (see the sample output).
     
  2. Declare and initialize the following constants and variables.
     
    • A global floating-point constant of type double to store the minimum balance for the
      business account initialized to 10000.00.
       
    • A global floating-point constant to of type double to store the minimum balance for the
      personal account initialized to 1000.00.
       
    • A global integer constant of type integer to store the length of account number and
      initialize it to 6.
       
    • A global integer constant of type integer to store the maximum number of transactions
      and initialize it to 20.
       
  3. Declare an enumeration constant with values Business and Personal and assign integer values 0
    and 1 to the data items, respectively. They represent the type of bank account.
     
  4. Declare another enumeration constant with values Process, Display and Quit, and assign suitable integer values 1, 2 and 3 to the data items, respectively. They represent menu choice presented
    to the user.
     
  1. Write a
    • •


     
  2. Write a
    • •
     

function named getName which gets the name on the bank account. Inside the function: Using a suitable message, prompt the user for the name on the account. The name can have multiple words.
Only alphabets (A-Z or a-z) and whitespaces are permitted in the account name. 

o If the user enters any other characters in the name, you need to generate an error message and ask for the name again. 

o Yourprogrammustkeeponaskingtheusertoenterthenameuntiltheuserentersit correctly.(SEE SAMPLE OUTPUT 1) 

The user may type the name in either uppercase or lowercase, but you need to convert every initial to uppercase. (SEE SAMPLE OUTPUTS)
This function will be called by the main function. 

function named getAccountNumber which get the account number. Inside the function: Using a suitable message, prompt the user for the number of the account.
The account number must be a 6-digit number. 

7. Write a function named encrypt_num. This function must receive the account number using a string variable and encrypt the account number. Inside this function: 

• 

8. Write a 

• 

• • 

• • 

number to offset each character by the random value.
oStore the new characters in a different string. This new string is now your encrypted 

account number.
This function will be called by the main function. 

function named display_transactions. It accepts four parameters:
A 2D array of type double named transactions that stores the transactions performed on the accounts. The number of columns this 2D array is 2. The first column stores the business transactions while the second column stores the personal transactions. The maximum number of rows is limited to the maximum number of transactions declared globally, but note that the account may not have values for all 20 transactions. Also note that the number of personal and business transactions that are actually performed can be different.
An integer that represents the number of transactions to display.
An enum variable that determines whether the account is a Business account or a Personal Account.
A Boolean variable that determines if the transactions needed to sorted while displaying. The default value of this Boolean is false.
Inside this function: 

o Display the content of the transactions array that relates to the correct account type – Business and Personal (display the correct column, not both columns). 

o Sort if the default value has been overridden with true when this function is called.
o Your numeric data must have two numbers after the decimal point and a $ sign in front 

of the number (for example, $1375.85).
• This function will be called by the displayAccount function. 

9. Write a function named displayAccount.
• This function accepts three parameters. 

• 

10. Write a 

• 

• • 

• 

• 

o A 2D array of type double named transactions that stores the transactions performed on the accounts. 

o An integer that represents the number of business transactions to display.
o An integer that represents the number of personal transactions to display.
Inside this function:
o Using a suitable message, ask the user which account needs to be displayed – Business 

or Personal.
o Using a suitable message, ask the user if the display needs to be sorted.
o Based on the account type selected by a user, design a switch-case block with a default 

case, to implement the following features. 

transaction) until the current balance updates to at least the minimum required 

balance. (SEE SAMPLE OUTPUT 5)
➢ If the current balance is below the minimum required balance, remind the user that 

the account is losing 10$ for every transaction using a suitable message. (SEE 

SAMPLE OUTPUT 5) 

o If the user chooses a Personal account 

o If the user enters a wrong choice, use the default case to provide an error message and 

ask the user to make the choice again.
➢ Your program needs to keep on asking the user for the choice until the user chooses 

a correct choice. (SEE SAMPLE OUTPUT 1)
oDisplay the current balance in either case after each successful transaction. (SEE 

SAMPLE OUTPUTS) 

➢ Your numeric data must have two numbers after the decimal point and a $ sign in front of the number (for example, $1375.85). 

o This function needs be able to process more than one transaction.
oAfter successfully processing a transaction, ask the user if the user wants to process 

another transaction.
o If the user chooses to process another transaction, use a suitable loop to ask the user 

about the type of account and the transaction to process. (SEE SAMPLE OUTPUTS )
o If the user chooses to process additional transactions, the previous transactions should 

not be overwritten.
o Assume the user will not perform more than 20 transactions on either account. 

• This function will be called by the main function. 

11. Inside your main function: 

o Call the getName function and pass the string variable for name to get the name. 

  1. Your program source code should be named “euidProject2.cpp”, without the quotes.
    where euid should be replaced by your EUID.
     
  2. Your program will be graded based largely on whether it works correctly on the CSE machines (e.g., cse01, cse02, …, cse06), so you should make sure that your program compiles and runs on a CSE machine.
     

DESIGN (ALGORITHM): 

On a piece of paper (or word processor), write down the algorithm, or sequence of steps, that you will use to solve the problem. You may think of this as a “recipe” for someone else to follow. Continue to refine your “recipe” until it is clear and deterministically solves the problem. Be sure to include the steps for prompting for input, performing calculations, and displaying output. 

You should attempt to solve the problem by hand first (using a calculator as needed) to work out what the answer should be for a few sets of inputs.
Type these steps and calculations into a document (i.e., Word, text, or PDF) that will be submitted along with your source code. Note that if you do any work by hand, images (such as pictures) may be used, but they must be clear and easily readable. This document shall contain both the algorithm and any supporting hand-calculations you used in verifying your results.