27.11.14

OOP Excercise-15 : Banking System



Define a class to represent a bank account which includes following members:
Data members –   i) Name
ii) Account number
iii) Type of account
iv) Balance Amount
Member functions –
a. To assign initial value
b. To deposit an account
c. To withdraw from an account
                                    d. To display name, account number & balance

10 comments:

  1. Dear Sir Please Visit My Blog:
    http://itlearn24.blogspot.com/2014/12/banking-system.html

    ReplyDelete
    Replies
    1. noted. i will confirm you regarding verification of your source code later.

      Delete
  2. #include
    #include
    #include
    #include
    using namespace std;



    class account
    {
    int acno;
    char name[50];
    int deposit;
    char type;
    public:
    void create_account();
    void show_account() ;
    void modify();
    void dep(int);
    void draw(int);
    void report() ;
    int retacno() ;
    int retdeposit() ;
    char rettype() ;
    };

    ReplyDelete
  3. void account::create_account()
    {
    cout<<"\nEnter The account No. :";
    cin>>acno;
    cout<<"\n\nEnter The Name of The account Holder : ";
    cin.ignore();
    cin.getline(name,50);
    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<<"\nModify Balance amount : ";
    cin>>deposit;
    }

    ReplyDelete
  4. 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;
    }



    void write_account();
    void display_sp(int);
    void modify_account(int);
    void delete_account(int);
    void display_all();
    void deposit_withdraw(int, int);
    void intro();

    ReplyDelete
  5. int main()
    {
    char ch;
    int num;
    intro();
    do
    {

    cout<<"\n\n\n\tMAIN 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;

    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";
    }
    cin.ignore();
    cin.get();
    }while(ch!='8');
    return 0;
    }

    ReplyDelete
  6. void write_account()
    {
    account ac;
    ofstream outFile;
    outFile.open("account.dat",ios::binary|ios::app);
    ac.create_account();
    outFile.write(reinterpret_cast (&ac), sizeof(account));
    outFile.close();
    }



    void display_sp(int n)
    {
    account ac;
    bool flag=false;
    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(reinterpret_cast (&ac), sizeof(account)))
    {
    if(ac.retacno()==n)
    {
    ac.show_account();
    flag=true;
    }
    }
    inFile.close();
    if(flag==false)
    cout<<"\n\nAccount number does not exist";
    }




    void modify_account(int n)
    {
    bool found=false;
    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.eof() && found==false)
    {
    File.read(reinterpret_cast (&ac), sizeof(account));
    if(ac.retacno()==n)
    {
    ac.show_account();
    cout<<"\n\nEnter The New Details of account"<(sizeof(account));
    File.seekp(pos,ios::cur);
    File.write(reinterpret_cast (&ac), sizeof(account));
    cout<<"\n\n\t Record Updated";
    found=true;
    }
    }
    File.close();
    if(found==false)
    cout<<"\n\n Record Not Found ";
    }




    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(reinterpret_cast (&ac), sizeof(account)))
    {
    if(ac.retacno()!=n)
    {
    outFile.write(reinterpret_cast (&ac), sizeof(account));
    }
    }
    inFile.close();
    outFile.close();
    remove("account.dat");
    rename("Temp.dat","account.dat");
    cout<<"\n\n\tRecord Deleted ..";
    }

    ReplyDelete
  7. 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. NAME Type Balance\n";
    cout<<"====================================================\n";
    while(inFile.read(reinterpret_cast (&ac), sizeof(account)))
    {
    ac.report();
    }
    inFile.close();
    }


    void deposit_withdraw(int n, int option)
    {
    int amt;
    bool found=false;
    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.eof() && found==false)
    {
    File.read(reinterpret_cast (&ac), sizeof(account));
    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)*static_cast(sizeof(ac));
    File.seekp(pos,ios::cur);
    File.write(reinterpret_cast (&ac), sizeof(account));
    cout<<"\n\n\t Record Updated";
    found=true;
    }
    }
    File.close();
    if(found==false)
    cout<<"\n\n Record Not Found ";
    }



    void intro()
    {
    cout<<"\n\n\n\t WELCOME";
    cout<<"\n\n\t TO";
    cout<<"\n\n\t ONLINE BANKING";

    cin.get();

    ReplyDelete
    Replies
    1. noted and found correct. it was better if you avoid user defined function.

      Delete
  8. 201420674
    46th
    *run by turbo c++
    /* Simple Banking Program using C++ */
    #include
    #include
    #include
    class bank {
    int ac;
    static reset;
    float balance, amount, shorta;
    public:
    void deposit();
    void withdraw();
    void chkbalance();
    int menu();
    };
    int bank::reset=0;
    void bank::deposit() {
    cout<<"\nEnter Account Number:";
    cin>>ac;
    if(ac==1001)
    {
    cout<<"\nEnter Amount you want to Deposit:";
    cin>>amount;
    balance=balance+amount;
    cout<<"\n\nMessage: You have successfully deposited Rs."<>ac;
    if(ac==1001)
    {
    cout<<"Enter Amount you want to Withdraw:";
    cin>>amount;
    if(amount>balance)
    {
    shorta=amount-balance;
    cout<<"\n\nYou cannot withdraw Rs."<>ac;
    if(reset==0)
    {
    balance=0;
    }
    if(ac==1001)
    {
    cout<<"Your Account balance is Rs."<>ch;
    return ch;
    }

    ReplyDelete

Comment Here