Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

THIS IS THE QUESTION FROM C++ PROGGRAMING 5TH EDDITION D.S.MALIK. ch- 14 program

ID: 643080 • Letter: T

Question

THIS IS THE QUESTION FROM C++ PROGGRAMING 5TH EDDITION D.S.MALIK. ch- 14 program exercise question # 5

Banks offer various types of accounts, such as savings, checking, certificate of deposits, and money market, to attract customers as well as meet with their specific needs. Two of the most commonly used accounts are savings and checking. Each of these accounts has various options. For example, you may have a savings account that requires no minimum balance but has a lower interest rate. Similarly, you may have a checking account that limits the number of checks you may write. Another type of account that is used to save money for the long term is certificate of deposit (CD). In this programming exercise, you use abstract classes and pure virtual functions to design classes to manipulate various types of accounts. For simplicity, assume that the bank offers three types of accounts: savings, checking, and certificate of deposit, as described next.

Explanation / Answer

Hope this will helps you..

import java.io.*;

class BankWork
{
          final int max_limit=20;
          final int min_limit=1;
          final double min_bal=500;
         private String name[]=new String[20];
         privateint accNo[]=newint[20];
         private String accType[]=new String[20];
         privatedouble balAmt[]=newdouble[20];
         staticint totRec=0;
        //constructor
        BankWork()
        {
             for(int i=0;i<max_limit;i++)
             {
                name[i]="";
                accNo[i]=0;
                accType[i]="";
                balAmt[i]=0.0;
            }
        }

      
      
        //TO ADD NEW RECORDpublicvoid newEntry()
        {
               String str;
               int acno;
               double amt;
               boolean permit;
                permit=true;

               if (totRec>max_limit)
               {
                    System.out.println(" Sorry we cannot admit you in our bank... ");
                    permit=false;
               }

               if(permit = true)   //Allows to create new entry
               {
               totRec++;         // Incrementing Total Record             
               System.out.println(" =====RECORDING NEW ENTRY=====");
               try{
                          accNo[totRec]=totRec;    //Created AutoNumber to accNo so no invalid id occurs
                        System.out.println("Account Number : "+accNo[totRec]);
                      
                     BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
                     System.out.print("Enter Name : ");
                     System.out.flush();
                     name[totRec]=obj.readLine();

                     System.out.print("Enter Account Type : ");
                     System.out.flush();
                     accType[totRec]=obj.readLine();

                    do{
                           System.out.print("Enter Initial Amount to be deposited : ");
                           System.out.flush();
                           str=obj.readLine();
                           balAmt[totRec]=Double.parseDouble(str);
                         }while(balAmt[totRec]<min_bal);      //Validation that minimun amount must be 500

                  System.out.println(" ");
                    }
                catch(Exception e)
                {}
            }
        }

      
      
        //TO DISPLAY DETAILS OF RECORDpublicvoid display()
        {
              String str;
              int acno=0;
              boolean valid=true;
                         
              System.out.println(" =====DISPLAYING DETAILS OF CUSTOMER===== ");
              try{
                 BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
                 System.out.print("Enter Account number : ");
                 System.out.flush();
                 str=obj.readLine();
                 acno=Integer.parseInt(str);
                  if (acno<min_limit || acno>totRec)   //To check whether accNo is valid or Not
                     {
                          System.out.println(" Invalid Account Number ");
                          valid=false;
                     }

                    if (valid==true)
                      {   
                        System.out.println(" Account Number : "+accNo[acno]);
                        System.out.println("Name : "+name[acno]);
                        System.out.println("Account Type : "+accType[acno]);
                        System.out.println("Balance Amount : "+balAmt[acno]+" ");
                      }
                 }
            catch(Exception e)
            {}
        }

          //TO DEPOSIT AN AMOUNTpublicvoid deposit()
        {
              String str;
              double amt;
              int acno;
              boolean valid=true;
              System.out.println(" =====DEPOSIT AMOUNT=====");
            
              try{
                   //Reading deposit value
                   BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));

                        System.out.print("Enter Account No : ");
                        System.out.flush();
                        str=obj.readLine();
                        acno=Integer.parseInt(str);
                         if (acno<min_limit || acno>totRec)   //To check whether accNo is valid or Not
                         {
                              System.out.println(" Invalid Account Number ");
                              valid=false;
                         }
         
                        if (valid==true)
                       {
                            System.out.print("Enter Amount you want to Deposit : ");
                            System.out.flush();
                            str=obj.readLine();
                            amt=Double.parseDouble(str);

                            balAmt[acno]=balAmt[acno]+amt;

                            //Displaying Depsit Details
                            System.out.println(" After Updation...");
                            System.out.println("Account Number : "+acno);
                            System.out.println("Balance Amount : "+balAmt[acno]+" ");
                        }
                 }
            catch(Exception e)
            {}
       }

     //TO WITHDRAW BALANCEpublicvoid withdraw()
        {
              String str;
              double amt,checkamt;
              int acno;
              boolean valid=true;
              System.out.println(" =====WITHDRAW AMOUNT=====");
            
              try{
                   //Reading deposit value
                   BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
                 
                        System.out.print("Enter Account No : ");
                        System.out.flush();
                        str=obj.readLine();
                        acno=Integer.parseInt(str);

                          if (acno<min_limit || acno>totRec)   //To check whether accNo is valid or Not
                             {
                                System.out.println(" Invalid Account Number ");
                                valid=false;
                            }

                        if (valid==true)
                        {
                                System.out.println("Balance is : "+balAmt[acno]);
                                System.out.print("Enter Amount you want to withdraw : ");
                                System.out.flush();
                                str=obj.readLine();
                                amt=Double.parseDouble(str);

                                checkamt=balAmt[acno]-amt;

                                if(checkamt >= min_bal)
                                 {
                                    balAmt[acno]=checkamt;
                                    //Displaying Depsit Details
                                    System.out.println(" After Updation...");
                                    System.out.println("Account Number : "+acno);
                                    System.out.println("Balance Amount : "+balAmt[acno]+" ");
                                }
                                else
                                 {
                                    System.out.println(" As per Bank Rule you should maintain minimum balance of Rs 500 ");
                                }
                        }
                 }
            catch(Exception e)
            {}
       }

};

class Bank
{
    publicstaticvoid main(String args[])
    {
        String str;
        int choice;
        choice=0;

        BankWork BW_obj = new BankWork();
      

        do
        {
        System.out.println("Choose Your Choices ...");
        System.out.println("1) New Record Entry ");
        System.out.println("2) Display Record Details ");
        System.out.println("3) Deposit...");
        System.out.println("4) Withdraw...");
        System.out.println("5) Exit");
         System.out.print("Enter your choice : ");
        System.out.flush();
              try{
                   BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
                   str=obj.readLine();
                   choice=Integer.parseInt(str);

                          switch(choice)
                           {
                            case 1 : //New Record Entry
                                            BW_obj.newEntry();
                                           break;
                            case 2 : //Displaying Record Details
                                           BW_obj.display();
                                           break;
                            case 3 : //Deposit...
                                            BW_obj.deposit();
                                           break;
                            case 4 : //Withdraw...
                                            BW_obj.withdraw();
                                            break;
                            case 5 : System.out.println(" .....THANKS FOR VISITING.....");
                                            break;
                            default : System.out.println(" Invalid Choice ");
                          }
                    }
                catch(Exception e)
                {}
            }while(choice!=5);
    }
}