Skip to content

Latest commit

 

History

History
78 lines (75 loc) · 4.94 KB

README.md

File metadata and controls

78 lines (75 loc) · 4.94 KB

Bank-Information-System

A system to manage banking affairs, implemented in C.

Main Features

· Display current account balance
· Record and display all banking activities
· Allow withdrawals from accounts
· Register a deposit

Problem Statement

  1. This system should be able to register a new customer account by using a structure and store detailed information such as names, addresses, telephone numbers, account numbers, 6-digit personal identification number PINs (security code for using the card) and the account balance in the file.
  2. The system should display the menu for users to make choices.
  3. Customers’ account information should be stored and managed. Each customer can have one or more accounts and each account is uniquely identified by an account number generated by the system randomly.
  4. Bank statistical information such as the number of customers and the number of accounts can be collected and displayed.
  5. The following banking activities are supposed to be provided for customers.
    1. Display current account balance
    2. Record and display all banking activities
    3. Allow withdrawals from an account
    4. Register a deposit
  6. For the managers, the system should be capable of providing the functionalities shown below. Noted that all banking activities require the manager to log on at first.
    1. Access the account customers' information
    2. Access the number of customers to check the customers in the file
    3. Display the number of accounts
  7. The following activities need to be provided for bank clerks.
    1. Add new accounts including relevant information
    2. View all the register information and make deposits to customers' account
    3. Account information including the name, the address, the telephone number and the PIN can be edited
    4. Accounts can be deleted

Analysis

Input

  1. A number from 1 to 4 for users to make their choices on the main menu
  2. A number from 1 to 4 for managers to make their choices on the manager menu
  3. A number from 1 to 4 for manager to choose among bank activities
  4. A number from 1 to 5 for bank clerks to make a choice on the bank clerk menu
  5. Account numbers with exactly 10 digits
  6. PINs with 6 digits
  7. Manager account usernames with 4-16 characters
  8. Manager passwords with 6-12 characters
  9. Bank clerks' account usernames with 4-16 characters
  10. Bank clerks' passwords with 6-12 characters
  11. Customers' addresses with maximum 50 characters
  12. Customers' telephone numbers with maximum 15 digits
  13. A number from 1 to 5 for customers to choose on the customer menu
  14. An integer number representing the number of the withdraw
  15. An integer number representing the number of the register of a deposit

Output

  1. The main menu of the bank information system
  2. Output warnings such as "Invalid input" and "xxx is illegal" if the inputs are not as required
  3. Different menus for different login users to choose their operations
  4. The number of customers and the number of accounts as the bank statistical information
  5. Prompt messages telling users whether they log on or off successfully
  6. The current account balance if needed
  7. Instructions about the maximum withdraw number
  8. Warnings if the database cannot be accessed
  9. Prompt messages asking users whether to continue their operation.
  10. Warnings if the relevant information is not existed
  11. The account number of the login customer
  12. Prompt messages asking bank clerks whether to view all the registers or not
  13. Relevant information of registers like account number
  14. Prompt messages asking users to input their passwords again for check
  15. Customers' information if required

Design

To start with, several header files are included.
#include stdio.h is included for the standard input and output.
#include string.h is included for using the functions of string. For example, strlen().
#include Windows.h is used under Win32 console application.
#include conio.h is included for using the function getch().
#include stdlib.h is included for using various utility functions. For example, srand().
#include time.h is included for the initialization of the seed of function time().
A structure of customer is added, which contains 7 variables. char cName[41] is a character array with 40 elements representing the name of the customer.
char cAddress[51] is a character array with 50 elements representing the address of the customer.
char cTelenumber[16] is a character array with 15 elements representing the telephone number of the customer.
char cAccount[11] is a character array with 10 elements representing the account number of the customer.
char cPIN[7] is a character array with 6 elements representing the password to the account.
int iBalance is an integer array representing the amount of balance.
int iRegister is an integer array representing the amount of registration.