Thread: helppp in bank databse

  1. #1
    Registered User
    Join Date
    Jan 2007
    Posts
    35

    helppp in bank databse

    any one of u plz help me in my code actually my project is about bank database in oop .in this bank two accounts saving and current . in saving account their is interest but in current it is nt .the problem is that when i run the program and call current account and deposit or withdraw money the out put from which i m xpecting. means it take input but not show calculated money in current account.but if i call interest function in deposit and withdraw of current it properly works other wise nt .plz tell me where i m wrong.its urgent plzzzzzzzzz coz i have to submit it on monday
    Code:
    #include<iostream.h>
    #include<conio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #include<stdio.h>
    
    const double interest=0.03;
    const double Natural_E=2.712;
    int acc_no[100];
    static int a;
    class bank{
    	protected  :
    		  char name[20],op;
    		  int arr;
    	protected:	  double balance;
    		  double original;
    		  double deposit_money;
    		  double withdraw_money;
    		  int years,t;
    		  int n;
    public:	   bank(){
    		  name[0]='\0';
    		  balance=0;
    		  original=0;
    		  deposit_money=0;
    		  withdraw_money=0;
    		  years=0;
    		  a=0;
    		  };
    
    	   void instructions(){
    		       cout<<"\n\t\t\t* ======================= *\n"
    			     "\t\t\t*  Well come to           *\n"
    			     "\t\t\t*           MFB           *\n"
    			     "\t\t\t* ======================= *\n\n";
    		       cout<<"\t\tThis bank will give you facility to open current\n"
    			     "\t\t\t as well as saving account\n\n";
    		       cout<<"\t\t\t   To proceed press enter";
    		       getch();
    		       };
    	   void input_balance(){
    		       cout<<"\t\tEnter the current balance on your account in PK.RS:";
    		       cin>>balance;
    		       original=balance;
    		       };
    
    	   void create(){
    		       cout<<"\t\t\t     Enter your NAME:";
    		       cin>>name;
    		       cout<<"\n\t\t\t  **** Congratulation****\n";
    		       cout<<"\t\t\t  You become a part of MFB\n";
    		     if(a<100)
    		     a++;
    		     else
    		     {
    		     cout<<"Account number exceeds its limit!"<<endl;
    		     getch();
    		     return;
    		     }
    		     acc_no[a-1]=a;
    		      cout<<"\t\t       your personal informations are\n\n";
    		       cout<<"\t\t\t      Your NAME is:"<<name<<endl;
    		       cout<<"\t\t\t    Your ACCOUNT no is:"<<a<<endl<<endl;
    		       };
    	   void deposit()
    		       {
    		       cout<<"\n\n\t\t\tWell come in your account:"<<name<<endl;
    		       cout<<"\t\t\tHow much do you want to deposit:RS ";
    		       cin>>deposit_money;
    		       balance+=deposit_money;
    		       cout<<"\t\t\tYour new balance after DEPOSIT is:RS "<<balance;
    
    		       };
    	   void withdraw()
    		       {
    			cout<<"\n\n\t\t\tWell come in your account:"<<name<<endl;
    		       cout<<"\t\t\tHow much do you want to withdraw:RS ";
    		       cin>>withdraw_money;
    		       balance-=withdraw_money;
    		       if(balance>0)
    		       cout<<"\t\t\tYour new balance after WITHDRAW is:RS "<<balance;
    		       else
    		       cout<<"\t\t\tZERO balance in your account";
    		       };
    	   double interestpay(int years)
    		  {
    		       double temp,temp2;
    
    		       temp=interest*years;
    		       temp2=pow(Natural_E,temp);
    
    		       return balance*temp2;
    		  };
    	   void numyears()
    		     {
    		     cout<<"\t\tHow many years have passed since the last transaction \n\t\t\t\tor starting this account: ";
    		     cin>>years;
    		     balance=interestpay(years);
    		     cout<<"\n\n\t\t\tThe new balance after transction is:"<<balance;
    		     getch();
    		     }
    };
    //int bank::acc_no=0;
         class saving:public bank
         {
           public:
    	  void create_s(){
    		     clrscr();
    		     cout<<"\n\t\t\t* ======================= *\n"
    			   "\t\t\t*  Well come to           *\n"
    			   "\t\t\t*     MFB saving account  *\n"
    			   "\t\t\t* ======================= *\n";
    		     cout<<"\t\t\t  This account gives you \n\t\tAn interest rate of";
    		     cout<<interest*100<<"% compounded continuously\n\n";
    		     bank::create();
    		    cout<<"\t      DO you want to enter money into your account [Y/N]:";
    		    cin>>op;
    		    if(op=='y')
    		    bank::input_balance();
    		     };
    	  void swithdraw(){
    		       cout<<"\t\t    Enter your Account No to deposit:";
    		       cin>>arr;
    		       int flag=0;
    		       for(int i=0; i<a; i++)
    		       {
    			       if(arr==acc_no[i])
    			       {
    			       flag=1;
    			       bank::withdraw();
    				cout<<"\n\n\t\tDo you want to check interest added into your account [Y/N]: ";
    				cin>>op;
    
    				if(op=='y')
    			      numyears();
    			       }
    		       }
    		       if(flag==0)
    		       cout<<"\n\t\tAccount doesn't exist!!\n\n";
    
    
    
    		       };
    
    	  void sdeposit(){
    		     cout<<"Enter your Account No to deposit:";
    		     cin>>arr;
    		  //    t= arr-acc_no;
    			int flag=0;
    		       for(int i=0; i<a; i++)
    		       {
    				if(arr==acc_no[i])
    			       {      flag=1;
    				      bank::deposit();
    				       cout<<"\n\nDo you want to check interest added into your account [Y/N]:";
    					cin>>op;
    				       if(op=='y')
    					      numyears();
    						 }
    			       //else
    				//
    		       }
    		       if(flag==0)
    		       cout<<"\nAccount doesn't exist!!\n\n";
    		};
           };
    
         class current_acc:public bank
           {
    
           public:
    	  void create_c(){
    	  clrscr();
    		     cout<<"\n\t\t\t* ======================= *\n"
    			   "\t\t\t*  Well come to           *\n"
    			   "\t\t\t*     MFB current account *\n"
    			   "\t\t\t* ======================= *\n";
    		     cout<<"\n\t\t   This account is for business peoples \n\t\t   Their is no interest in this account\n\n";
    		     bank::create();
    		      cout<<"\t      DO you want to enter money into your account [Y/N]:";
    		    cin>>op;
    		    if(op=='y')
    		    bank::input_balance();
    		     };
    	  void cdeposit(){
    		   cout<<"\t\t    Enter your Account No to deposit:";
    		     cin>>arr;
    		       int flag=0;
    		       for(int i=0; i<a; i++)
    		       {
    			       if(arr==acc_no[i])
    			       {
    			       flag=1;
    
    				 bank::deposit();
    				 cout<<"congratz";
    				    /*   cout<<"\n\nDo you want to check interest added into your account [Y/N]:";
    					cin>>op;
    				       if(op=='y')
    					      numyears(); */
    
    			       }
    		       }
    		       if(flag==0)
    		       cout<<"\n\t\tAccount doesn't exist!!\n\n";
    	};
    
    
    	  void cwithdraw(){
    		   cout<<"\t\t    Enter your Account No to deposit:";
    		     cin>>arr;
    		       int flag=0;
    		       for(int i=0; i<a; i++)
    		       {
    			       if(arr==acc_no[i])
    			       {
    			       flag=1;
    				  bank::withdraw();
    				  /*     cout<<"\n\nDo you want to check interest added into your account [Y/N]:";
    					cin>>op;
    				       if(op=='y')
    					     numyears();  */
    			       }
    		       }
    		       if(flag==0)
    		       cout<<"\n\t\tAccount doesn't exist!!\n\n";
    			  };
           };
    
    main()
    {
    clrscr();
    int z;
    saving s;
    current_acc c;
    char op,nm[20],str[20];;
    bank b1[100],b2;
    b2.instructions();
    
    for(int i=0;i<100;)
           {     clrscr();
    	     cout<<"\n\t\t\t1.   Press c to CREATE ACCOUNT\n"
    		   "\t\t\t2.   Press d to DEPOSIT\n"
    		   "\t\t\t3.   w to WITHDRAW\n"
    		    "\t\t\t4.   q to QUIT\n";
    	     cin>>op;
           switch(op)
    	      {
    		case'c':
    		clrscr();
    		    cout<<"\n\n\tyou pressed c\n";
    		    cout<<"\tWhich account do u want to create\n";
    		    cout<<"\tCurrent or saving\n";
    		    cout<<"\tTo create saving account press 'saving'\n"
    			  "\tTo create current press 'current':";
    		    gets(str);
    		    int m=strcmp(str,"current");
    		    if(m==0)
    			c.create_c();
    		    else
    			 s.create_s();
    		    break;
    		case'd':
    		    clrscr();
    		    cout<<"\t\t  In which account do you want to deposit:";
    		    gets(str);
    		    m=strcmp(str,"current");
    
    			if(m==0)
    			c.cdeposit();
    			else
    			s.sdeposit();
    		    break;
    		case'w':
    		    cout<<"\tFrom which account do you want to withdraw:";
    		    gets(str);
    		    m=strcmp(str,"current");
    
    			if(m==0)
    			  c.cwithdraw();
    			else
    			  s.swithdraw();
    		    break;
    
    		case'q':
    		    cout<<"\n\tyou pressed q";
    		    if(op=='q')
    		    {
    		    exit(0);
    		    }
    		    break;
    		default:
    		    cout<<"unknown";
    	      }
           i++;
           }
    getch();
    }

  2. #2
    Hurry Slowly vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,771
    why do you use C-strings and gets function (that is HIGHLY NOT recommended even in C)?

    You should start using modern C++ technics
    std::string, std::vector

    iostream.h is outdated
    etc
    All problems in computer science can be solved by another level of indirection,
    except for the problem of too many layers of indirection.
    David J. Wheeler

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Bank Account Problem
    By JayBlay77 in forum C++ Programming
    Replies: 1
    Last Post: 03-19-2009, 08:41 AM
  2. Replies: 12
    Last Post: 06-03-2005, 01:13 AM
  3. Bank Account
    By vasanth in forum A Brief History of Cprogramming.com
    Replies: 7
    Last Post: 09-14-2003, 02:27 AM
  4. My graphics library
    By stupid_mutt in forum C Programming
    Replies: 3
    Last Post: 11-26-2001, 06:05 PM