im in trouble. this program would be easy if our professor taught the lessons well. but he's just like a student reporting his assignment. err. need your would be so much appreciated.

here's the problem:

Virtual ATM Machine Problem
Create a program that displays a log in menu that prompts a user to log in with an account number and PIN. When both account number and PIN match clear the screen and display a main menu, otherwise display an error message.

In the main menu display the following options:
1. View Accounts Balance
2. Withdraw from Account
3. Deposit to Account
4. Change PIN
5. View Transaction History
6. Log out
In View Account Balance, the user can view current account balance, and if he wants to, print the output to a file. The file to be created must contain the date of print and the remaining balance. When printing or display is done, the user is returned to the main menu.
In Withdraw from Account, the user can withdraw from his remaining balance. The user inputs the amount to be withdrawn. If the user does not have enough balance, display an error message. Otherwise subtract withdrawn amount from his remaining balance. When subtraction is complete, display the amount withdrawn and the remaining balance, afterwards return to the main menu.
In Deposit to account, the user can add to his remaining balance or to the account of another. The user is prompted to input the account number that shall receive the deposit and the amount to be deposited. PpP500 is the minimum deposit. When the amount to be deposited is less than the minimum or the account does not exists display an error message. Otherwise add the deposited amount to the remaining balance of the specified account. When addition is complete, display the amount deposited and the remaining balance, afterwards return to the main menu.
In Change PIN, the user is prompted to input and confirm his new password. If the first input and the second input of password do not match display an error message and return to main menu. If the passwords match display a message acknowledging the change of passwords then return to the main menu.
In View Transaction History, the program displays the user’s transaction history. The transaction history report is played on screen and has the following fields:

Transaction No.|Amt Deposited|Amt Withdrawn|Remaining Bal|Date of Transaction
12345 | 100 | | 100 | 2010/12/24
12346 | | 100 | 0 | 2010/12/25
12347 | 10000 | | 10000 | 2010/12/26

The user is prompted to print this report to a file. If the user decides to print, output the report to a file. If the user declines, return to the main menu.
In LOG OUT, the program exits.

Create an administrator account. Administrators must log in using command line arguments. If the administrator logs in, the main menu shows an additional option to Create or Delete Accounts.
In Create account, the administrator has the option of creating an Account with the following fields, First Name, Last Name, Remaining Balance, and PIN. A newly opened account shall have a minimum balance of $ 500.
In Active/Deactivate account, if a user attempts to use an active account, display the message then return to log in menu. Accounts must auto deactivate if it has zero balance.
For all cases return to the main menu when done.

Design Details:
Account filename: account.txt
Account number 4 character numeric code 8888
Account name 50 character alpha numeric code Juan Dela Cruz
PIN 4 character numeric code 8888
Status alpha code ‘a’, ‘I’

Transactions filename: transaction.csv

Transaction Number sequential (auto generated), starts at 1 12345
Transaction Type alpha code ‘w’, ‘d’
Date YYY-MM-DD 2010-12-12
Balance display up to 2 decimal places 100.10
Account Number 4 character numeric code 8888

Account names are all in uppcase. If the input is lower case, convert it to upper case. Only positive integers can be entered for deposits and withdrawals.

‘w’ – withdrawn
‘d’ – Deposit

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.