亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? atm.cpp

?? Cpp how to program source code
?? CPP
字號:
// ATM.cpp
// Member-function definitions for class ATM.
#include "ATM.h" // ATM class definition
#include "Transaction.h" // Transaction class definition
#include "BalanceInquiry.h" // BalanceInquiry class definition
#include "Withdrawal.h" // Withdrawal class definition
#include "Deposit.h" // Deposit class definition

// enumeration constants represent main menu options
enum MenuOption { BALANCE_INQUIRY = 1, WITHDRAWAL, DEPOSIT, EXIT };

// ATM default constructor initializes data members
ATM::ATM() 
   : userAuthenticated ( false ), // user is not authenticated to start
     currentAccountNumber( 0 ) // no current account number to start
{
   // empty body
} // end ATM default constructor

// start ATM 
void ATM::run()
{
   // welcome and authenticate user; perform transactions
   while ( true )
   {
      // loop while user is not yet authenticated
      while ( !userAuthenticated ) 
      {
         screen.displayMessageLine( "\nWelcome!" );       
         authenticateUser(); // authenticate user
      } // end while
      
      performTransactions(); // user is now authenticated 
      userAuthenticated = false; // reset before next ATM session
      currentAccountNumber = 0; // reset before next ATM session 
      screen.displayMessageLine( "\nThank you! Goodbye!" );
   } // end while   
} // end function run

// attempt to authenticate user against database
void ATM::authenticateUser() 
{
   screen.displayMessage( "\nPlease enter your account number: " );
   int accountNumber = keypad.getInput(); // input account number
   screen.displayMessage( "\nEnter your PIN: " ); // prompt for PIN
   int pin = keypad.getInput(); // input PIN
   
   // set userAuthenticated to bool value returned by database
   userAuthenticated = 
      bankDatabase.authenticateUser( accountNumber, pin );
   
   // check whether authentication succeeded
   if ( userAuthenticated )
   {
      currentAccountNumber = accountNumber; // save user's account #
   } // end if
   else
      screen.displayMessageLine( 
         "Invalid account number or PIN. Please try again." );
} // end function authenticateUser

// display the main menu and perform transactions
void ATM::performTransactions() 
{
   // local pointer to store transaction currently being processed
   Transaction *currentTransactionPtr;
   
   bool userExited = false; // user has not chosen to exit

   // loop while user has not chosen option to exit system
   while ( !userExited )
   {     
      // show main menu and get user selection
      int mainMenuSelection = displayMainMenu();

      // decide how to proceed based on user's menu selection
      switch ( mainMenuSelection )
      {
         // user chose to perform one of three transaction types
         case BALANCE_INQUIRY: 
         case WITHDRAWAL: 
         case DEPOSIT:
            // initialize as new object of chosen type
            currentTransactionPtr = 
               createTransaction( mainMenuSelection );

            currentTransactionPtr->execute(); // execute transaction

            // free the space for the dynamically allocated Transaction
            delete currentTransactionPtr;
            
            break; 
         case EXIT: // user chose to terminate session
            screen.displayMessageLine( "\nExiting the system..." );
            userExited = true; // this ATM session should end
            break;
         default: // user did not enter an integer from 1-4
            screen.displayMessageLine( 
               "\nYou did not enter a valid selection. Try again." );
            break;
      } // end switch
   } // end while
} // end function performTransactions

// display the main menu and return an input selection
int ATM::displayMainMenu() const
{
   screen.displayMessageLine( "\nMain menu:" );
   screen.displayMessageLine( "1 - View my balance" );
   screen.displayMessageLine( "2 - Withdraw cash" );
   screen.displayMessageLine( "3 - Deposit funds" );
   screen.displayMessageLine( "4 - Exit\n" );
   screen.displayMessage( "Enter a choice: " );
   return keypad.getInput(); // return user's selection
} // end function displayMainMenu
      
// return object of specified Transaction derived class
Transaction *ATM::createTransaction( int type )
{
   Transaction *tempPtr; // temporary Transaction pointer
   
   // determine which type of Transaction to create     
   switch ( type )
   {
      case BALANCE_INQUIRY: // create new BalanceInquiry transaction
         tempPtr = new BalanceInquiry( 
            currentAccountNumber, screen, bankDatabase );
         break;
      case WITHDRAWAL: // create new Withdrawal transaction
         tempPtr = new Withdrawal( currentAccountNumber, screen, 
            bankDatabase, keypad, cashDispenser );
         break; 
      case DEPOSIT: // create new Deposit transaction
         tempPtr = new Deposit( currentAccountNumber, screen, 
            bankDatabase, keypad, depositSlot );
         break;
   } // end switch

   return tempPtr; // return the newly created object
} // end function createTransaction


/**************************************************************************
 * (C) Copyright 1992-2005 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱码精品一区二区三区五月婷| 国产a区久久久| 国产午夜精品在线观看| 色婷婷久久99综合精品jk白丝| 午夜视频一区二区| 久久久久国产成人精品亚洲午夜| 成人禁用看黄a在线| 亚洲最大成人综合| 欧美一级片在线观看| 国产成人啪午夜精品网站男同| 亚洲美女屁股眼交3| 欧美一区二区美女| 日本韩国欧美一区| 精品一区二区三区视频| 日本一不卡视频| 国产亚洲美州欧州综合国| 欧美日韩高清一区| 成人免费毛片app| 免费在线成人网| 亚洲综合在线观看视频| 玖玖九九国产精品| 亚洲成人免费视频| 亚洲欧美日韩中文播放| 国产午夜亚洲精品午夜鲁丝片| 欧美精品一二三区| 在线观看不卡视频| 国产精品1024久久| 韩国av一区二区三区在线观看 | 狠狠色狠狠色综合日日91app| 有坂深雪av一区二区精品| 国产精品青草久久| 国产午夜精品久久久久久免费视| 欧美电视剧在线看免费| 欧美精品一卡两卡| 欧美日韩和欧美的一区二区| 91在线观看高清| 91在线看国产| 一本大道av一区二区在线播放| 国产高清不卡一区| 国产高清在线观看免费不卡| 麻豆精品在线播放| 美日韩黄色大片| 欧美一级片免费看| 日韩欧美中文一区二区| 日韩精品一区二区三区老鸭窝| 欧美一级久久久久久久大片| 欧美一区二区三区在线| 日韩视频在线你懂得| 亚洲精品一区二区三区福利| 久久精品欧美日韩精品 | 大尺度一区二区| 99久久国产免费看| 欧美综合色免费| 日韩一级在线观看| 2023国产精品视频| 国产精品久久久久久久久免费丝袜| 国产精品入口麻豆原神| 亚洲精品第1页| 日本午夜一区二区| 国产suv一区二区三区88区| 91香蕉视频在线| 6080日韩午夜伦伦午夜伦| 2014亚洲片线观看视频免费| 国产精品女同一区二区三区| 亚洲影院免费观看| 精品一区精品二区高清| 91视频www| 日韩欧美国产综合| 亚洲欧美日韩国产成人精品影院 | 黄色日韩三级电影| 91丝袜国产在线播放| 欧美久久免费观看| 国产精品萝li| 久久精品久久久精品美女| 白白色亚洲国产精品| 欧美午夜精品久久久久久孕妇| 久久久久久影视| 午夜视频一区在线观看| 成人久久视频在线观看| 精品国产伦一区二区三区观看体验| 国产精品久久久久国产精品日日| 成人18视频在线播放| 欧美肥胖老妇做爰| 亚洲欧美日韩电影| 成人av资源站| 国产亚洲欧美激情| 精品一区二区三区免费播放 | 久久综合九色综合97婷婷女人 | 欧美精品 国产精品| 亚洲视频免费观看| 成人一级片在线观看| 久久久亚洲欧洲日产国码αv| 日韩成人一级片| 欧美视频第二页| 亚洲自拍偷拍图区| av不卡一区二区三区| 久久影院电视剧免费观看| 日韩国产高清在线| 日本韩国视频一区二区| 亚洲人被黑人高潮完整版| 国产91富婆露脸刺激对白| 欧美日韩成人综合天天影院| 亚洲高清视频在线| 欧美美女网站色| 丝袜诱惑亚洲看片| 欧美一级在线观看| 久久电影网电视剧免费观看| 精品福利一二区| 国产成人免费视频网站高清观看视频 | 亚洲激情六月丁香| 中文字幕日本乱码精品影院| 色噜噜久久综合| 亚洲成a人在线观看| 欧美日韩大陆一区二区| 欧美aaaaaa午夜精品| 久久综合九色综合欧美就去吻 | 欧美丰满美乳xxx高潮www| 久久精品72免费观看| 艳妇臀荡乳欲伦亚洲一区| 色哟哟一区二区| 午夜视黄欧洲亚洲| 久久天天做天天爱综合色| a在线欧美一区| 视频一区中文字幕国产| 精品国产一区二区国模嫣然| heyzo一本久久综合| 亚洲v日本v欧美v久久精品| 精品国产露脸精彩对白 | 欧美亚洲动漫另类| 精品一区二区三区在线播放视频| 国产精品毛片大码女人| 欧美精品久久99久久在免费线 | 97国产一区二区| 视频一区欧美精品| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚洲国产一卡| 成人一区二区在线观看| 日韩精品电影在线观看| 亚洲欧洲日韩av| 精品国产一区久久| 欧美日韩综合色| 不卡av在线网| 国产在线不卡一区| 五月婷婷久久丁香| 综合中文字幕亚洲| 国产欧美日韩另类视频免费观看| 91精品在线一区二区| 91久久精品一区二区二区| 国产激情视频一区二区在线观看 | 中文字幕一区三区| 久久精品视频免费| 久久免费午夜影院| 欧美zozozo| 欧美人妇做爰xxxⅹ性高电影 | 精品中文av资源站在线观看| 亚洲午夜精品网| 伊人性伊人情综合网| 亚洲美女视频在线| 国产精品久久国产精麻豆99网站| 国产午夜精品久久久久久久| 久久久亚洲欧洲日产国码αv| 精品精品国产高清一毛片一天堂| 欧美人与禽zozo性伦| 欧美一区二区视频在线观看2022| 欧美手机在线视频| 国产清纯白嫩初高生在线观看91 | 成人18视频日本| 91丨九色porny丨蝌蚪| 色综合久久久久久久久久久| 91猫先生在线| 欧美丝袜第三区| 在线综合+亚洲+欧美中文字幕| 欧美人与z0zoxxxx视频| 欧美一区二区精品久久911| 日韩欧美色电影| 国产欧美在线观看一区| 亚洲日本电影在线| 五月综合激情网| 看电视剧不卡顿的网站| av亚洲精华国产精华精华| 在线视频欧美精品| 日韩免费电影一区| 中文字幕不卡一区| 亚洲自拍欧美精品| 麻豆91小视频| 99久久精品国产一区| 欧美精品v日韩精品v韩国精品v| 精品精品国产高清a毛片牛牛| 国产精品家庭影院| 石原莉奈一区二区三区在线观看 | 色国产综合视频| 精品久久人人做人人爱| 亚洲色图都市小说| 狠狠色狠狠色综合| 色成年激情久久综合| 久久亚洲一级片| 亚洲无线码一区二区三区| 国产激情精品久久久第一区二区 | 国产午夜精品一区二区三区嫩草 | 亚洲综合在线视频|