PROGRAM ATM (input, output);

	USES crt;

	CONST
		valid = 1234;

	VAR
		acctnum, continue, transaction: integer;
		balance, amount: real;

	BEGIN

	acctnum:=0;
	transaction:=3;
	continue:=2;
	balance:=100.00;

	clrscr;
	Writeln('Do you want to use the ATM, 1=yes 2=no');
	Readln(continue);
	IF (continue= 1) THEN
		BEGIN
		      Writeln('What is your account number');
	              Writeln('Valid number is 1234');
		       Readln(acctnum);
		       IF (acctnum = valid) THEN 
			BEGIN
			      Writeln('Your beginning balance is ', balance:7:2);
			      Writeln('What transaction would you like to make?');
			      Writeln('        1 = Deposit');
			      Writeln('        2 = Withdrawal');
			      Writeln('        3 = Inquiry');
			       Readln(transaction);

			       IF (transaction = 1) THEN
			       BEGIN
				Writeln('How much would you like to deposit');
				Writeln('Please enter in amount in the following form');
				Writeln('        XXX.xx');
				Readln(amount);
				balance:= balance + amount;
				Writeln;
				Writeln('Your revised balance is ', balance:7:2);
				Writeln('transaction complete.');
	
			       END; {transaction = 1}

			       IF (transaction = 2) THEN
			       BEGIN
				Writeln('How much would you like to withdraw');
				Writeln('Please enter in amount in the following form');
				Writeln('        XXX.xx');
				Readln(amount);
				IF amount > balance THEN 
				      Writeln('Insufficient Funds for that transaction')
				ELSE
				BEGIN
			 	      balance:= balance - amount;
				      Writeln;
			  	      Writeln('Your revised balance is ', balance:7:2);
				      Writeln('transaction complete.');
				 END; {amount<balance}
	
			       END; {transaction = 2}

			       IF (transaction = 3) THEN
			       BEGIN
 				Writeln('Your current balance is ', balance);
				Writeln;
				Writeln('transaction complete.');

			       END; {transaction = 3}

			END {Valid Account number}

		       ELSE  Writeln('Invalid account number');

		END    {continue=1}

		ELSE   {continue=2}

                clrscr;
		Writeln('Goodbye');
		Readln;
	
	END.

	