Sunday, 21 October 2018

Bank management system

Government Polytechnic
Yavatmal
Session: 2018-19
Micro Project
ON
OBJEECT ORIENTED PROGRAMMING USING C++
Project Topic: BANK MANGEMENT SYSTEM

  Created By
Mahesh Santosh Darvankar
Abhishek Santosh Dhole
Vikrant Shivdas Jumble

POLYTECHNIC II ND YEAR



Index
INTRODUCTION:
Bank management system developed in C++ language. For the industry purpose.

 HARDWARE:

PROCESSOR : INTEL Core i5 or more
KEY BOARD : 108 Enhanced.
         MEMORY : 8GB RAM
HARD DISK : 1 TB
MOUSE : ANY

  SOFTWARE:

OPERATING SYSTEM : WINDOWS 8 or more
FRONT END TOOL : C
BACK END TOOL : File System

















PROGRAM:

#include<fstream.h>
#include<ctype.h>
#include<iomanip.h>
#include<conio.h>
#include<stdio.h>
#include<iostream.h>


// CLASS USED IN PROJECT
class account
{
   int acno;
   char name[50];
   int deposit;
   char type;
  public:
   void create_account();//function to get data from user
   void show_account();//function to show data on screen
   void modify();   //function to get new data from user
   void dep(int);   //function to accept amount and add to balance               amount
   void draw(int); //function to accept amount and subtract from balance amount
   void report();   //function to show data in tabular format
   int retacno();   //function to return account number
   int retdeposit();//function to return balance amount
   char rettype();  //function to return type of account
};//class ends here

void account::create_account()
{
 cout<<"\nEnter The account No.";
 cin>>acno;
 cout<<"\nEnter The Name of The account Holder : ";
 gets(name);
 cout<<"\nEnter Type of The account (C/S) : ";
 cin>>type;
 type=toupper(type);
 cout<<"\nEnter The Initial amount(>=500 for Saving;
 cout<<"and >=1000 for current) : ";
 cin>>deposit;
 cout<<"\nAccount Created..";
}

void account::show_account()
{
 cout<<"\nAccount No. : "<<acno;
 cout<<"\nAccount Holder Name : ";
 cout<<name;
 cout<<"\nType of Account : "<<type;
 cout<<"\nBalance amount : "<<deposit;
}


void account::modify()
{
 cout<<"\nThe account No."<<acno;
 cout<<"\n\nEnter The Name of The account Holder : ";
 gets(name);
 cout<<"\nEnter Type of The account (C/S) : ";
 cin>>type;
 type=toupper(type);
 cout<<"\nEnter The amount : ";
 cin>>deposit;
}


void account::dep(int x)
{
 deposit+=x;
}

void account::draw(int x)
{
 deposit-=x;
}

void account::report()
{
 cout<<acno<<setw(10)<<" "<<name<<setw(10)<<" "<<type<<setw(6)<<deposit<<endl;
}

int account::retacno()
{
 return acno;
}

int account::retdeposit()
{
 return deposit;
}

char account::rettype()
{
 return type;
}


//function declaration
void write_account();//function to write record in binary file
void display_sp(int);//function to display account details given by user
void modify_account(int);//function to modify record of file
void delete_account(int);//function to delete record of file
void display_all();//function to display all account details
void deposit_withdraw(int, int);// function to desposit
//withdraw amount for given account
void intro();//introductory screen function


//THE MAIN FUNCTION OF PROGRAM
int main()
{
 char ch;
 int num;
 clrscr();
 intro();
  do
  {
   clrscr();
   cout<<"\n\n\n\t  MAIN MENU";
   cout<<"\n\n\t01. NEW ACCOUNT";
   cout<<"\n\n\t02. DEPOSIT AMOUNT";
   cout<<"\n\n\t03. WITHDRAW AMOUNT";
   cout<<"\n\n\t04. BALANCE ENQUIRY";
   cout<<"\n\n\t05. ALL ACCOUNT HOLDER LIST";
   cout<<"\n\n\t06. CLOSE AN ACCOUNT";
   cout<<"\n\n\t07. MODIFY AN ACCOUNT";
   cout<<"\n\n\t08. EXIT";
   cout<<"\n\n\tSelect Your Option (1-8) ";
   cin>>ch;
   clrscr();
 switch(ch)
 {
   case '1':
      write_account();
      break;
   case '2':
      cout<<"\n\n\tEnter The account No. : "; cin>>num;
      deposit_withdraw(num, 1);
      break;
   case '3':
      cout<<"\n\n\tEnter The account No. : "; cin>>num;
      deposit_withdraw(num, 2);
      break;
   case '4':
      cout<<"\n\n\tEnter The account No. : "; cin>>num;
      display_sp(num);
      break;
   case '5':
      display_all();
      break;
   case '6':
      cout<<"\n\n\tEnter The account No. : "; cin>>num;
      delete_account(num);
      break;
   case '7':
      cout<<"\n\n\tEnter The account No. : "; cin>>num;
      modify_account(num);
      break;
   case '8':
      cout<<"\n\n\tTHANKS FOR USING BMS";
      break;
  default :cout<<"\a";
 }

 getch();
}while(ch!='8');
  return 0;
}



//function to write in file
void write_account()
{
  account ac;
  ofstream outFile;
  outFile.open("account.dat",ios::binary|ios::app);
  ac.create_account();
  outFile.write((char *) &ac, sizeof(account));
  outFile.close();
}

//function to read specific record from file
void display_sp(int n)
{
 account ac;
 int flag=0;
 ifstream inFile;
 inFile.open("account.dat",ios::binary);
 if(!inFile)
  {
   cout<<"File could not be open !! Press any Key...";
   return;
  }
   cout<<"\nBALANCE DETAILS\n";
   while(inFile.read((char *) &ac, sizeof(account)))
   {
    if(ac.retacno()==n)
     {
      ac.show_account();
      flag=1;
     }
   }
   inFile.close();
   if(flag==0)
   cout<<"\n\nAccount number does not exist";
}


//function to modify record of file
void modify_account(int n)
{
 int found=0;
 account ac;
 fstream File;
 File.open("account.dat",ios::binary|ios::in|ios::out);
 if(!File)
 {
  cout<<"File could not be open !! Press any Key...";
  return;
 }
 while(File.read((char *) &ac, sizeof(account)) && found==0)
 {
  if(ac.retacno()==n)
  {
    ac.show_account();
    cout<<"\n\nEnter The New Details of account"<<endl;
    ac.modify();
    int pos=(-1)*sizeof(account);
    File.seekp(pos,ios::cur);
    File.write((char *) &ac, sizeof(account));
    cout<<"\n\n\t Record Updated";
    found=1;
  }
 }
  File.close();
  if(found==0)
  cout<<"\n\n Record Not Found ";
}

// function to delete record of file
void delete_account(int n)
{
 account ac;
 ifstream inFile;
 ofstream outFile;
 inFile.open("account.dat",ios::binary);
 if(!inFile)
 {
  cout<<"File could not be open !! Press any Key...";
  return;
 }
 outFile.open("Temp.dat",ios::binary);
 inFile.seekg(0,ios::beg);
 while(inFile.read((char *) &ac, sizeof(account)))
 {
  if(ac.retacno()!=n)
   {
    outFile.write((char *) &ac, sizeof(account));
   }
 }
 inFile.close();
 outFile.close();
 remove("account.dat");
 rename("Temp.dat","account.dat");
 cout<<"\n\n\tRecord Deleted ..";
}


//function to display all accounts deposit list
void display_all()
{
 account ac;
 ifstream inFile;
 inFile.open("account.dat",ios::binary);
 if(!inFile)
  {
   cout<<"File could not be open !! Press any Key...";
   return;
  }
   cout<<"\n\n\t\tACCOUNT HOLDER LIST\n\n";
   cout<<"----------------------------------------------------\n";
   cout<<"A/c no.\t\tNAME\t\tType\t\tBalance\n";
   cout<<"----------------------------------------------------\n";
   while(inFile.read((char *) &ac, sizeof(account)))
   {
    ac.report();
   }
   inFile.close();
}


//function to deposit and withdraw amounts
void deposit_withdraw(int n, int option)
{
 int amt;
 int found=0;
 account ac;
 fstream File;
 File.open("account.dat", ios::binary|ios::in|ios::out);
 if(!File)
 {
   cout<<"File could not be open !! Press any Key...";
   return;
 }
 while(File.read((char *) &ac, sizeof(account)) && found==0)
 {
  if(ac.retacno()==n)
   {
    ac.show_account();
    if(option==1)
    {
     cout<<"\n\n\tTO DEPOSITE AMOUNT ";
     cout<<"\n\nEnter The amount to be deposited";
     cin>>amt;
     ac.dep(amt);
    }
    if(option==2)
    {
     cout<<"\n\n\tTO WITHDRAW AMOUNT ";
     cout<<"\n\nEnter The amount to be withdraw";
     cin>>amt;
     int bal=ac.retdeposit()-amt;
     if((bal<500 && ac.rettype()=='S') || (bal<1000 && ac.rettype()=='C'))
     cout<<"Insufficience balance";
    else
     ac.draw(amt);
    }
    int pos=(-1)* sizeof(ac);
    File.seekp(pos,ios::cur);
    File.write((char *) &ac, sizeof(account));
    cout<<"\n\n\t Record Updated";
    found=1;
   }
 }
    File.close();
    if(found==0)
    cout<<"\n\n Record Not Found ";
}





// INTRODUCTION FUNCTION
void intro()
{
  cout<<"\n\t\t**-------------------- BANK --------------------**";
  cout<<"\n\t\t  **--------------- MANAGEMENT ---------------**";
  cout<<"\n\t\t    **--------------- SYSTEM ----------------**\n";
  cout<<"\nPROJECT REPRESENTETOR :";
  cout<<"\nROLL NO.:\tNAMES:\n15\t\tMahesh S. Darwankar\n17\t\tAbhishek S. Dhole\n22\t\tVikrant S. Jumble\n29\t\tYash V. Patne\n41\t\tAmol G. Soitkar\n";
  cout<<"\nGUIDED BY:PROF.KHARMATE SIR";
  cout<<"\nCOLLEGE NAME : Govt.Polytechnic Yavatmal.\n";
  cout<<"\nPRESS ANY KEY TO CONTOINUE.";
  getch();
}

//END OF PROJECT


OUTPUT:
















Conclusion: -
       
                                                          Banking system have been with as long as people have been using money bank and other financial institution provides security individual business o govt. A late recap what has been learned with bank movement system.

                                                         Such as Create Account, Deposited Money, Withdrawal Money, Deleted Account so many Functions.






END PROJECT



                           Written by:
                           MAHESH S DARVANKAR
                               Mo.9168407591

             

Bank management system

Government Polytechnic Yavatmal Session: 2018-19 Micro Project ON OBJEECT ORIENTED PROGRAMMING USING C++ Project Topic: BANK MANGEMEN...