Assignment 7

Back Up

Home
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Assignment 5
Assignment 6
Assignment 7

 

CS 161
150 POINTS

DUE Day of the final exam

Problem:

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.

Notes:

1) Your program must display a banner for a bank (your bank), and the other basic menus of and ATM machine. After every menu, clear the screen for the next one.

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:

http://www.csci.csusb.edu/dick/examples/

http://webnz.com/robert/cpp_site.html

http://www.faqs.org/faqs/C++-faq/

http://learn.lincoln.ac.nz/comp301/resources/quizzes/notes1.htm ATM OOP/Procedural

 

Submit:

1) A hard copy of the module structure chart (See page 183) for this program.

2) A hard copy of the algorithm for this program.

3) A hard copy of the input file.

4) A copy of the source program on a DOS formatted 3.5" floppy.

5) A one page description of the group members and their contribution on this project. Comment the sections of the program with the authors for those sections.

Your program does not have to match exactly want you see, but this is an example of what is expected.

######                  #     #
#     #   ####   ###### #  #  #
#     #  #    #  #      #  #  #
######   #    #  #####  #  #  #
#     #  #    #  #      #  #  #
#     #  #    #  #      #  #  #
######    ####   #       ## ##

Welcome to Bank of Walter

Enter your pin #:1234
(enter 999 to finish)

 

Use a loop until the user inputs a valid pin #. There will be an existing list of customers in a file you created

 

Bank of Walter

Welcome John Jones, your current balance is: $394.45

What would you like to do today? 1

1) Deposit

2) withdraw

3) exit (it will take back to the previous opening menu)

 

Again, a loop until correct option is entered.

 

John Jones, you have chosen to Deposit. What is the amount that you wish to Deposit? 10

Now your account has $404.45

Do you wish to perform another transaction? n

Thanks for using Bank of Walter. (go back to the previous menu)

 

 

 

PLEASE ASK QUESTIONS IF YOU ARE IN DOUBT ABOUT WHAT NEEDS TO BE DONE. EARLY

 

 

Back to CS 161 Homepage
This page was last modified May 20, 2001
wmorales@pcc.edu