Question

In: Computer Science

writing a program that will act like an ATM machine by the end of this course....

writing a program that will act like an ATM machine by the end of this course. In order to access the ATM, the customer must enter their user name and their passcode. After 3 incorrect attempts at entering the user name and password, the program will end. The list of legitimate users along with their user ID, passcode and account balance will be provided to you.

There are only 5 functions that can be carried out by the ATM:

1 – Deposit (adding money to the account)

2 – Withdrawal (removing money from the account)

3 – Balance Inquiry (check current balance)

4 – Transfer Balance (transfer balance from one account to another)

5 – Log Out (exits/ends the program)

Allow the user to make up to a maximum of 3 transactions at a time. After 3 transactions, the program will terminate. Each transaction cannot exceed $500; for example, a user cannot withdraw more than $500.00, if there is $500.00 available on their account. After a transaction is completed, the program will update the running balance and give the customer a detailed description of the transaction. A customer cannot overdraft on their account; if they try to withdraw more money than there is, a warning will be given to the customer. Also note that the ATM doesn’t distribute or collect coins – all monetary values are in whole dollars (e.g. an integer is an acceptable variable type). Any incorrect transaction types will display an appropriate message and count as a transaction.

Solutions

Expert Solution

The sample program is self explanatory, and with all the functions being listed as shown above.

And the sample program can be extended to allow three chances for authentication, and for all with addition of a simple for loop.

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
class custaccount
{
public:
string name;
long passcode;
double accountno;
custaccount()
{
cout<<"Enter number:";
cin>>name;
cout<<"Enter Passcode:";
cin>>passcode;
cout<<"Enter accountno;";
cin>>accountno;
}
bool authenticate(string custname,int pass_code)
{
string custname;
long passcode;
int i=0;
cout<<"Enter Name:";
cin>>custname;

for(i=0;i<=20;i++)
{
cout<<"Enter passcode:";
cin>>pass_code;

int flag=0,j=0;

for(j-0;j<=20;j++)
{
if(pass_code==passcode)
{
flag=1;
}
else
{
flag-=0;
}
}
if(flag==1)
{
int i=0,j=0;

for(j=0;j<=20;j++)
{
if (cust_name=name[i])
{
flag1=1;
exit(0);
}

else
{
flag1==0;
exit(0);
}
}
flag1=0;
}
else
{
flag1==0;
}
return flag1;
}
}
};

void deposit(long amt,long accountno,string custname)
{
accontq1=accountno;
custnam=custname;
if(authenticate(accontq1,custname))
{
long depositsum;
cout<<"Enter amount you want to deposit:";cin>>depositsum;
accountsum+=depositsum;
return 0;
}

void withdrawl(long amt, long accountno, string custname)
{
accontq1=accountno;
custnam=custname;
If(authenticate(account1,custnam))
{ long withdrawlsum;
cout<<"Enter amount you want to deposit:";cin>>withdrawlsum;
accountsum-=withdrawlsum;
}
else
{
Return 0;
}
}
void balanceenquiry(long accountno)
{
custaccount a1;
int flag=0;
int I;
for(i=0;i<=20;i++)
{
if a1[i].account_no==accountno)
{
cout<<"Balance=";<<a[i].accountsum;
flag=1;
}
else
{
flag=0;
}
}
if(flag==0)
{
cout<<"account invalid:";
}
}
}
}
void transferbalance(long sendac, long recac, double accsum)
{
custaccount a1;
a1[sendac].accountsum-accsum;
a1[reccac].accountsum+=accsum;
return 0;
}
int main()
{
int accountno, passcode;
Cout<<"Enter accountno"; cin>>accountno;
cout<<"Enter passcode"; cin>>passcode;
If(authenticate(accountno,passcode)
{ int choice;
cout<<"Enter your choice 1. Withdrawl 2. Deposit 3. Balance enquiry 4. Long out:"; cin>> choice;
switch(choice)
{
case'1': custaccount[accountno].withdrawl(amt);
break();
case'2': custaccount[accountno].deposit(amt);
break();
case'3':custaccount[accountno].balanceenquiry(accountno);
break();
case'4': cout<<"You are logged out:";exit(0);
}
}
else
{
cout<<"Invalid AccountNo."; exit(0);
}
return 0;
}


Related Solutions

ACT Prep Course. ACT prep courses like to market that you can increase your ACT score...
ACT Prep Course. ACT prep courses like to market that you can increase your ACT score by taking their courses. Some statisticians were curious how effective these courses really were. They decided to investigate the truth of the claim by measuring the average score increase for a random sample of students selected to take an ACT prep course. These students took the ACT twice, once before and once after taking the course. The variable of interest was the increase in...
Your final project will satisfy the following scenario: You are writing a program that will act...
Your final project will satisfy the following scenario: You are writing a program that will act as an ATM machine by the end of this course. In order to access the ATM, the customer must enter their user name and their passcode. After 3 incorrect attempts at entering the user name and password, the program will end. The list of legitimate users along with their user ID, passcode, and account balance will be provided to you. There are only 5...
Using a (GUI interface), write a Java program that simulates an ATM machine with the following...
Using a (GUI interface), write a Java program that simulates an ATM machine with the following options menu: "Welcome" 1. Deposit to account 2. Withdraw 3. Exit
You will write a program using Python that simulates an Automatic Teller Machine (ATM). For this...
You will write a program using Python that simulates an Automatic Teller Machine (ATM). For this program, your code can have user defined functions (but not required), the program must not call on any external functions or modules to handle any of the input, computational, and output requirements. Requirements: There is a customer with the following credential and can only access the system if the Access Code is correct: • Name: Peter Parker, Access Code: 2222 • When the program...
Practice Coding Task C++ ATM Machine with Some Classes Create an ATM machine in C++ with...
Practice Coding Task C++ ATM Machine with Some Classes Create an ATM machine in C++ with a few classes. Requirements: Automated Teller Machine (ATM) simulationGiven 3 trials, the user is able to see his balance by entering a four-digit pin that must NEVER be displayed on screen but masked by the Asterix (*) character. A list of pins stored on the file system must be loaded to verify the pin. The user should be able to withdrawfundsbelow a set limit...
I have an ATM Machine program. I'm not sure where to place the:   public void io() {...
I have an ATM Machine program. I'm not sure where to place the:   public void io() { section so the program gives the following output: Welcome to ATM Press Enter to begin; Enter amount to begin: Enter amount to withdraw: 230 Cash dispensed as follows: $100 Bills: 2 $20 Bills: 1 $10 Bills: 1 The progam consists of Main.java class Main { public static void main(String[] args) { ATM atm = new ATM(); atm.init(); atm.run(); System.out.println(); System.out.println("ATM Version 0.1.0"); System.out.println("Copyright (C)...
Last week, Canada announced that they would launch a pilot program that would set up ATM-like...
Last week, Canada announced that they would launch a pilot program that would set up ATM-like vending machines to dispense hydromorphone to those who are addicted to opioids. Many see this intervention as a novel and potentially unconventional way to address the problems with opioid abuse. Please read the article here before responding. I would like to know your thoughts on this approach. What are the risks and benefits? Do you believe that this approach will be effective?
Question: PROJECT 2 – ATM MACHINE For this project you will be building an ATM application...
Question: PROJECT 2 – ATM MACHINE For this project you will be building an ATM application that will allow ... PROJECT 2 – ATM MACHINE For this project you will be building an ATM application that will allow users to log in, deposit, withdraw, and check balance. Set a default beginning balance of $1000. I want all monies formatted to currency. Log in Usernames and passwords need to be stored in parallel arrays. At least three logins available for me....
Constructing Data Flow Diagrams: ATM Machine To start an ATM Withdrawal: • A card is inserted...
Constructing Data Flow Diagrams: ATM Machine To start an ATM Withdrawal: • A card is inserted in the slot by the user, and the PIN (personal identification number) is entered. • The ATM reads information from the card, in particular, the card number and the expiry date, and accepts the PIN from the keyboard input. • The card is verified for expiry date, and then if valid, the card number and the PIN are sent to the bank for card...
I need to create a program that will simulate an ATM. The program has to be...
I need to create a program that will simulate an ATM. The program has to be written in JAVA that uses JOptionaPane to pop up the messages. It will need to simulate to get ** balance **withdraw **Deposit **exit the atm ** need to have a method that shows a receipt of everything that was done during the transaction
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT