Design a software system that simulates a real world system (such as ATMs, banks
ID: 3774584 • Letter: D
Question
Design a software system that simulates a real world system (such as ATMs, banks, courses, games...). The program (the software system) must contain selection (if), repetition (loop), methods, user define class, and arrays. The documents include flowchart, UML, and comments in the program. You have to present your program (demonstration and explanation) on 11//28/2016. This program is 130 points (100 + 30 presentation).Explanation / Answer
String a = "44567-5 mypassword 520.36"; String b = "1234567-6 anotherpassword 48.20"; String c = "4321-0 betterpassword 96.74"; if (acctNum.equals(a.substring(0, a.indexOf(" "))) && pwd.equals(a.substring(a.indexOf(" ")+1,a.lastIndexOf(" ")))) return result = a.substring(a.lastIndexOf(" ") + 1); if (acctNum.equals(b.substring(0, b.indexOf(" "))) && pwd.equals(b.substring(b.indexOf(" ")+1,b.lastIndexOf(" ")))) return result = b.substring(b.lastIndexOf(" ") + 1); if (acctNum.equals(c.substring(0, c.indexOf(" "))) && pwd.equals(c.substring(c.indexOf(" ") + 1,c.lastIndexOf(" ")))) return result = c.substring(c.lastIndexOf(" ") + 1); return result; } public static int menu() { int menuChoice; do { System.out.print(" Please Choose From the Following Options:" + " 1. Display Balance 2. Deposit" + " 3. Withdraw 4. Log Out "); menuChoice = kbd.nextInt(); if (menuChoice < 1 || menuChoice > 4){ System.out.println("error"); } }while (menuChoice < 1 || menuChoice > 4); return menuChoice; } public static void displayBalance(double x) { System.out.printf(" Your Current Balance is $%.2f ", x); } public static double deposit(double x, double y) { double depositAmt = y, currentBal = x; double newBalance = depositAmt + currentBal; System.out.printf("Your New Balance is $%.2f ", newBalance); return newBalance; } public static double withdraw(double x, double y) { double withdrawAmt = y, currentBal = x, newBalance; newBalance = currentBal - withdrawAmt; System.out.printf("Your New Balance is %.2f ",newBalance); return newBalance; } public static void main(String[] args) { String accNum, pass, origBal = "error"; int count = 0, menuOption = 0; double depositAmt = 0, withdrawAmt = 0, currentBal=0; boolean foundNonDigit; //loop that will count the number of login attempts //you make and will exit program if it is more than 3. //as long as oriBal equals an error. do{ foundNonDigit = false; System.out.println("Please Enter Your Account Number: "); accNum = kbd.next(); System.out.println("Enter Your Password: "); pass = kbd.next(); origBal = checkID(accNum, pass); count++; if (count >= 3 && origBal.equals("error")){ System.out.print("Maximum Login Attempts Reached."); System.exit(0); } if (!(origBal.equals("error"))){ System.out.println(" Your New Balance is: $ "+ origBal); } else System.out.println(origBal); }while(origBal.equals("error")); currentBal=Double.parseDouble(origBal); //this loop will keep track of the options that //the user inputs in for the menu. and will //give the option of deposit, withdraw, or logout. while (menuOption != 4) { menuOption=menu(); switch (menuOption) { case 1: displayBalance(currentBal); break; case 2: System.out.print(" Enter Amount You Wish to Deposit: $ "); depositAmt = kbd.nextDouble(); currentBal=deposit(depositAmt, currentBal); break; case 3: System.out.print(" Enter Amount You Wish to Withdrawl: $ "); withdrawAmt = kbd.nextDouble(); while(withdrawAmt>currentBal){ System.out.print("ERROR: INSUFFICIENT FUNDS!! " + "PLEASE ENTER A DIFFERENT AMOUNT: $"); withdrawAmt = kbd.nextDouble(); } currentBal = withdraw(currentBal, withdrawAmt); break; case 4: System.out.print(" Thank For Using My ATM. Have a Nice Day. Good-Bye!"); System.exit(0); break; } } } }Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.