You will work in a group to create an ATM program with the following implementations: 
  Your are to implement this program using classes.
  bankaccount would be an object and most likely the member functions will be
  Deposit and Withdraw but, there might be others.  
  1) Implement your own code for input protection, such as: the user has
  to enter a pin number that exists to enter in their account.  Protect the input such
  that if wrong
  selections are made the user will receive a warning. The user has to type
  dollar amounts to
  withdraw, deposit.  (20 extra points if you protect the input
  against incorrect entries such as chars when you are supposed to enter dollar
  amounts AND if you also protect against input of numbers that go beyond the
  allowed range for a particular data type, in this case floats) 
  2) Improve your code to make it very close to the way that
  a real ATM machine works. This includes: Welcome greeting banner, clearing the
  screen after each window, options to deposit or withdraw (just one account per
  customer is necessary. Just checking, no need for savings account). Just
  think of all the options that you see in a real ATM and add your own. If you
  are a speaker of another language you may even implement it using your language! but, of
  course, you will need the English menus as well. 
  2) You will implement an array of struct with 15 customers
  in your program.  
  3) Read the initial values from an input file into an array
  and keep track of the transactions on the screen until the user is finished
  with their transactions. This file will have this format:
  Bob Jones 1234
  1000.00
  David Wilson 2345 500.00
  Phil Davis 7890 45.00
  ...complete the rest, your bank should have 15 customers...
  4) You can use any compiler. If you use Visual
  C++ you will have the availability of the string type that would handle the
  customer names, otherwise you will most likely have to use an array of chars
  to handle the names.
  5) Your program will need to have functions!
  6) Working in a group is very challenging. If you find
  yourself in a situation where you feel that other members of the group are not
  contributing let me know at least 1 (two) week before the assignment is due.
  At my discretion after talking to all the members of the group I may split the
  group and the/each member(s) will have to complete the ENTIRE assignment on
  their own. 
  7) PLAN is the key for completing this assignment successfully.
  Create due dates for completion for the many parts of this assignment. I will
  "try" to give you some time in class for planning, but also plan to
  meet outside of class and use your email as part of the communication between
  the members. If you are comfortable creating links in UNIX you can have all
  the members of your group working on this program together.     
  8) If you have questions about the assignment ASK the
  instructor.
  Examples of programs using classes: