Banking Project

#include<fstream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<iostream.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
      void punit (void);
      void deposit(void);
      void addrecord();
      void delrecord();
      void modrecord();
      void disprecord();
      void dispall();
      void withdraw();
   float w,z;
                 class account
  {
                  int accountno,cls;
                  char name[30],type;
                  float deposit,withdraw;
  public:
                  account()
 {
                deposit=withdraw=0;
    }
                    int giveaccountno()
 {
                      return accountno;
    }
                void getdata(int mrno)
 {
                    accountno=mrno+1;
                      cout<<"ACCOUNT NUMBER        ::  ";
                      cout<<accountno<<"
";
                      cout<<"ENTER YOUR NAME       ::  ";
                gets(name);
                      cout<<"
";
                    cout<<"ENTER TYPE OF ACCOUNT SAVING(s)/CURRENT(c)  ::  ";
                cin>>type;
                   cout<<"
";
                   cout<<"ENTER INITIAL AMOUNT  ::Rs  ";cin>>deposit;
                   cout<<"
";
  }
                void withdrawal(int m)
   {
                   cout<<"AMOUNT BEFORE WITHDRAWING::Rs  "<<deposit<<"
";
      deposit=deposit-m;
                   cout<<"AMOUNT AFTER WITHDRAWING::Rs  "<<deposit;
    }
                void deposital(int m)
 {
                   cout<<"AMOUNT BEFORE DEPOSIT::Rs  "<<deposit<<"
";
    deposit=deposit+m;
                   cout<<"AMOUNT AFTER DEPOSIT ::Rs  "<<deposit;
  }
                void dispdata()
   {
                                 int scrnt=0;
                     if(scrnt==1)
    {
      clrscr();
                   cout<<"DISPLAY ALL MENU 
 ";
    scrnt=0;
  }
                    cout<<"

ACCOUNT NUMBER              ::";
                    cout<<accountno;
                    cout<<"

NAME OF DEPOSITER             ::";
                    cout<<name;
                    cout<<"

TYPE OF ACCOUNT SAVING(s)/CURRENT(c)  ::  ";
                    cout<<type;
                    cout<<"

BALANCE  ::Rs  ";
                    cout<<deposit;
    scrnt++;
     }
  };
                void main()
    {
                                 int menuch;
                                       punit();
                 do
    {
                    clrscr();
                    textcolor(14);
                    textbackground(1);
                   cout<<"


					MAIN MENU 
";
                   cout<<"
		1.NEW ACCOUNT     ";
                   cout<<"
		2.CLOSE AN ACCOUNT ";
                   cout<<"
		3.MODIFY AN ACCOUNT  ";
                   cout<<"
		4.DISPLAY AN ACCOUNT ";
                   cout<<"
		5.DISPLAY ALL RECORDS ";
                   cout<<"
		6.WITHDRAW AMOUNT";
                   cout<<"
		7.DEPOSIT AMOUNT";
                   cout<<"
		8.EXIT     ";
                   cout<<"
		ENTER YOUR CHOICE  ";
      cin>>menuch;

                                 switch(menuch)
    {

                   case 1:addrecord();break;
                   case 2:delrecord();break;
                   case 3:modrecord();break;
                   case 4:disprecord();break;
                   case 5:dispall();break;
                   case 6:withdraw();break;
                   case 7:deposit();break;
     }
  }
                 while(menuch!=8);
     }
                  void addrecord()
  {
                                     account obj_1,obj_2;
                                  fstream fout;
                   fout.open("banking.txt",ios::in|ios::binary);
     if(!fout)
  {
                   cout<<"FILE OPEN ERROR  ";getch();return;}
                int recsize=sizeof(account);
                    fout.seekg(0,ios::end);
                  fout.seekg(-1*recsize,ios::cur);
                 fout.read((char*)&obj_1,recsize);
    int mrno=obj_1.giveaccountno();
                fout.close();
    clrscr();
                   cout<<"ADD MENU   

";
     obj_2.getdata(mrno);
                  fout.open("banking.txt",ios::app|ios::binary);
     if(!fout)
   {
                    cout<<"FILE OPEN ERROR  ";getch();return;}
      fout.write((char*)&obj_2,recsize);
                    cout<<"

RECORD ADDED TO DATABASE"<<"
 Press any key to
continue... ";
      getch();
                 fout.close();
   }
                void dispall()
  {
                                  account obj_3;
                    fstream fout;
                  int recsize=sizeof(account);
                   int countrec=0;
                clrscr();
                    cout<<"
DISPLAY ALL MENU 
 ";
    fout.open("banking.txt",ios::in);
                if(!fout)
  {
                    cout<<"FILE OPEN ERROR  ";getch();return;}
                while(fout.read((char*)&obj_3,recsize))
  {
                   obj_3.dispdata();
     countrec++;
                    cout<<"
 PRESS ANY KEY FOR NEXT....";
     getch();
  }
                  clrscr();
                   cout<<"

END OF FILE.TOTALNUMBER OF RECORDS..."<<countrec;
                   cout<<"

Press any key......";
    getch();
      fout.close();}
                void disprecord()
 {
                                   account obj_4;
                   fstream fout;
                     int mrno,flag=0;
                    int recsize=sizeof(account);
    clrscr();
                   cout<<"
 DISPLAY A RECORD MENU  
";
    fout.open("banking.txt",ios::in);
                    if(!fout)
   {
                   cout<<"FILE OPEN ERROR  ";getch();return;}
                   cout<<"

 ENTER  THE ACCOUNT NUMBER  ";cin>>mrno;
     while(fout.read((char*)&obj_4,recsize))
 {
     if (obj_4.giveaccountno()==mrno)
{
                   obj_4.dispdata();
                    cout<<"

Press any key.....";
     flag=1;break;
  }
 }
     if(flag==0)
  {
                   cout<<"

NO SUCH ACCOUNT EXIST  ";
     cout<<"

Press any key......";
  }
                getch();
    fout.close();
 }
                void delrecord()
  {
                                    account obj_5;
                                 fstream fout,temp;
                  int mrno,flag;
                   int recsize=sizeof(account);
     clrscr();
                   cout<<"

         CLOSE ACCOUNT MENU   
 ";
     fout.open("banking.txt",ios::in);
                 if(!fout)
 {
                   cout<<"FILE OPEN ERROR  ";
                    getch();
                   return;
    }
      temp.open("temp.txt",ios::app|ios::binary);
    if(!temp)
 {
                    cout<<"FILE OPEN ERROR  ";
                getch();
     return;
  }
                    cout<<"

 ENTER THE ACCOUNT NUMBER ";
                cin>>mrno;
                  while(fout.read((char*)&obj_5,recsize))
   {
                 if(obj_5.giveaccountno()==mrno)
 {
                   obj_5.dispdata();
                char confirm;
                    cout<<"

ARE YOU SURE TO DELETE IT(Y/N)..";cin>>confirm;
      if(confirm=='Y'||confirm=='y')
 {
                   fout.read((char*)&obj_5,recsize);
                  cout<<"

RECORD DELETED FORM DATABASE
";
                  cout<<"press any key....";
                      flag=1;
                                 if(!fout)
                 break;
      }
                    flag=1;
     }
   temp.write((char*)&obj_5,recsize);}
                 fout.close();
    temp.close();
                    remove("banking.txt");
                  rename("temp.txt","banking.txt");
                    if(flag==0)
 {
                   cout<<"

NO SUCH ACCOUNT EXIST";
                   cout<<"Press any key.....";
  }
     getch();
 }
                 void modrecord()
  {
    account obj_6;
                fstream fout;
                  int mrno,flag=0;
                  int recsize=sizeof(account);
    clrscr();
                    cout<<"
MODIFY RECORD MENU
 ";
    fout.open("banking.txt",ios::in|ios::out|ios::binary);
     if(!fout)
 {
                   cout<<"FILE OPEN ERROR  ";
                   getch();
                    return;
                   }
     fout.seekg(ios::beg);
                   cout<<"
ENTER RECORD NUMBER  ";
                    cin>>mrno;
      while(fout.read((char*)&obj_6,recsize))
  {
                  if(obj_6.giveaccountno()==mrno)
  {
                clrscr();
                  cout<<"

MODIFY MENU 

";
                      obj_6.dispdata();
      int tmprno=obj_6.giveaccountno()-1;
                      account obj_7;
                   cout<<"

 ENTER NEW DATA
";
                     obj_7.getdata(tmprno);
                  char confirm;
      cout<<"

 ARE YOU SURE(Y/N)  
";
                cin>>confirm;
     if(confirm=='Y'||confirm=='y')
 {
                                  fout.seekg(-1*recsize,ios::cur);
                       fout.write((char*)&obj_7,recsize);
                   cout<<"

 RECORD MODIFIED
  ";
                  cout<<"Press any key.....";
                                    flag=1;
  }
     }
                  if(flag==0)
 {
                                 cout<<"NO SUCH RECORD EXIST
";
                       cout<<"Press any key.....";
   }
      }
                                 fout.close();
                    getch();
    }
                 void withdraw()
    {
                     account obj_9;
                fstream fout;
    int mrno=0;
  int recsize=sizeof(account);
                   clrscr();
                       cout<<"

WITHDRAWAL MENU
";
                  fout.open("banking.txt",ios::in|ios::out|ios::binary);
                                  if(!fout)
     {
                   cout<<"FILE OPEN ERROR  ";getch();return;}
                       fout.seekg(ios::beg);
                   cout<<"
ENTER ACCOUNT NUMBER  ";
      cin>>mrno;
                      while(fout.read((char*)&obj_9,recsize))
 {
                    if(obj_9.giveaccountno()==mrno)
      {
                 clrscr();
                 cout<<"

ENTER THE AMOUNT TO BE WITHDRAWED::Rs ";
    cin>>w;
                    obj_9.withdrawal(w);
                                  fout.seekg(-1*recsize,ios::cur);
                   fout.write((char*)&obj_9,recsize);
  }
    }
                  fout.close();
                      getch();
  }
                void punit(void)
  {

    int gd=5, gm, errorcode;
    int col,i=0,j;
                initgraph(&gd, &gm, "c:\tc\bgi");
      while(5*i<=700)
  {
                 setbkcolor(1);
                 setcolor(3);
                 rectangle(0+5*i,0+5*i,getmaxx()-5*i,getmaxy()-5*i);
                 i++;
  }
    i=0;
     setcolor(4);
   settextstyle(1,0,6);

     sleep(5);
      cleardevice();
                  while(5*i<=700)
   {
                 setbkcolor(1);
     setcolor(3);
                 circle(getmaxx()/2,getmaxy()/2,i*5);
   i++;
     }
                   setcolor(4);
                 settextstyle(0,0,6);
     outtextxy(190 ,getmaxy()/2-85,"PROJECT");
                outtextxy(300,getmaxy()/2-25,"ON");

     outtextxy(190,getmaxy()/2+25,"BANKING");
                sleep(3);
     i=0;
                while(i<=130)
  {
                     setbkcolor(1);
                                  setcolor(3);
                 line(i*3,0,i*3,getmaxy());
                   line(getmaxx()-i*3,0,getmaxx()-i*3,getmaxy());
                  i++;
  }
                 sleep(1);
      i=getmaxy();
                  while(i>0)
   {
                line(getmaxx()/2,getmaxy(),getmaxx(),i-=10);
     delay(10);
   }
      i=getmaxx();
                  while(i>0)
   {
     line(getmaxx()/2,getmaxy(),i-=10,0);
      delay(10);
  }
      i=0;
     while(i<getmaxy())
 {
     line(getmaxx()/2,getmaxy(),0,i+=10);
    delay(10);
     }

                 closegraph();
     flushall();
 }

                    void deposit(void)
  {
                  account obj_10;
      fstream fout;
                 int mrno=0;
      int recsize=sizeof(account);
     clrscr();
                    cout<<"

DEPOSITAL MENU
";
                fout.open("banking.txt",ios::in|ios::out|ios::binary);
   if(!fout)
 {
                  cout<<"FILE OPEN ERROR  ";getch();return;}
     fout.seekg(ios::beg);
                  cout<<"
ENTER ACCOUNT NUMBER  ";
                cin>>mrno;
                  while(fout.read((char*)&obj_10,recsize))
  {
      if(obj_10.giveaccountno()==mrno)
  {
    clrscr();
     cout<<"

ENTER THE AMOUNT TO BE DEPOSITED ::Rs ";
   cin>>w;
      obj_10.deposital(w);
  fout.seekg(-1*recsize,ios::cur);
      fout.write((char*)&obj_10,recsize);
   }
     }
  fout.close();
     getch();
   }
