From 629e156e47c65411c3caf7ec898d194e42c22505 Mon Sep 17 00:00:00 2001 From: Soumik Mukherjee Date: Sat, 12 Sep 2020 17:14:34 +0530 Subject: [PATCH] Banking added --- banking.cpp | 378 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 378 insertions(+) create mode 100644 banking.cpp diff --git a/banking.cpp b/banking.cpp new file mode 100644 index 0000000..8fc7eb7 --- /dev/null +++ b/banking.cpp @@ -0,0 +1,378 @@ +//*************************************************************** +// HEADER FILE USED IN PROJECT +//**************************************************************** + + +#include +#include +#include +#include +#include + + +//*************************************************************** +// 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<<"\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 Initial amount(>=500 for Saving and >=1000 for current ) : "; + cin>>deposit; + cout<<"\n\n\nAccount Created.."; +} + +void account::show_account() +{ + cout<<"\nAccount No. : "<>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<>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 bank managemnt system"; + 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"<>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\n\n\t BANK"; + cout<<"\n\n\tMANAGEMENT"; + cout<<"\n\n\t SYSTEM"; + cout<<"\n\n\n\nMADE BY : SOUMIK MUKHERJEE"; + getch(); +}