C Program to Display the ATM Transaction

This is a C program to display the ATM transaction.

Problem Description

This C Program performs ATM transaction. The types of ATM transaction are
1) Balance checking
2) Cash withdrawal
3) Cash deposition.

Problem Solution

1. Firstly initialize the ATM pin and amount with some random number.
2. Take the ATM pin as input.
3. If the input pin is equal to the initialized pin, then do the further operations.
4. Use switch statement to do the operations like Balance checking, Cash withdrawal, Cash deposition etc.
5. Use while loop to terminate or restart the process.

Program/Source Code

Here is source code of the C Program to display the ATM transaction. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

  1. /*
  2.  * C Program to Display the ATM Transaction
  3.  */
  4. #include <stdio.h>
  5.  
  6. unsigned long amount=1000, deposit, withdraw;
  7. int choice, pin, k;
  8. char transaction ='y';
  9.  
  10. void main()
  11. {
  12. 	while (pin != 1520)
  13. 	{
  14. 		printf("ENTER YOUR SECRET PIN NUMBER:");
  15. 		scanf("%d", &pin);
  16. 		if (pin != 1520)
  17. 		printf("PLEASE ENTER VALID PASSWORD\n");
  18. 	}
  19. 	do
  20. 	{
  21. 		printf("********Welcome to ATM Service**************\n");
  22. 		printf("1. Check Balance\n");
  23. 		printf("2. Withdraw Cash\n");
  24. 		printf("3. Deposit Cash\n");
  25. 		printf("4. Quit\n");
  26. 		printf("******************?**************************?*\n\n");
  27. 		printf("Enter your choice: ");
  28. 		scanf("%d", &choice);
  29. 		switch (choice)
  30. 		{
  31. 		case 1:
  32. 			printf("\n YOUR BALANCE IN Rs : %lu ", amount);
  33. 			break;
  34. 		case 2:
  35. 			printf("\n ENTER THE AMOUNT TO WITHDRAW: ");
  36. 			scanf("%lu", &withdraw);
  37. 			if (withdraw % 100 != 0)
  38. 			{
  39. 				printf("\n PLEASE ENTER THE AMOUNT IN MULTIPLES OF 100");
  40. 			}
  41. 			else if (withdraw >(amount - 500))
  42. 			{
  43. 				printf("\n INSUFFICENT BALANCE");
  44. 			}
  45. 			else
  46. 			{
  47. 				amount = amount - withdraw;
  48. 				printf("\n\n PLEASE COLLECT CASH");
  49. 				printf("\n YOUR CURRENT BALANCE IS%lu", amount);
  50. 			}
  51. 			break;
  52. 		case 3:
  53. 			printf("\n ENTER THE AMOUNT TO DEPOSIT");
  54. 			scanf("%lu", &deposit);
  55.                         amount = amount + deposit;
  56. 			printf("YOUR BALANCE IS %lu", amount);
  57. 			break;
  58. 		case 4:
  59. 			printf("\n THANK U USING ATM");
  60. 			break;
  61. 		default:
  62. 			printf("\n INVALID CHOICE");
  63. 		}
  64. 		printf("\n\n\n DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n): \n");
  65. 		fflush(stdin);
  66. 		scanf("%c", &transaction);
  67. 		if (transaction == 'n'|| transaction == 'N')
  68.                     k = 1;
  69. 	} while (!k);
  70. 	printf("\n\n THANKS FOR USING OUT ATM SERVICE");
  71. }
Program Explanation

1. Initialize the variables pin, amount and transaction with 1520, 1000 and ‘y’ respectively.
2. Ask for the pin from user. If the input pin is equal to 1520, then allow for the further operations.
3. Use switch statement to do the operations like Check Balance, Withdraw Cash, Deposit Cash and Quit.
4. For Check Balance simply print the variable amount as output and exit.
5. For Withdraw Cash, first ask the amount to withdraw and store it in the variable withdraw.
6. If withdraw % 100 != 0, then ask user to enter the amount in multiplies of 100.
7. If withdraw amount is greater than (amount-500), then print the output as “INSUFFICENT BALANCE”.
8. Otherwise subtract the variable withdraw from variable amount, print the amount and exit.
9. For deposit operation, ask the user for amount and store it in the variable deposit.
10. Add the variable deposit to variable amount, print the amount and exit.
11. If quit, then finally ask the user if they wish to continue or not. Ask them to type y/n and store it in the variable transaction.
12. If variable transaction is y/Y, then continue the operation. Otherwise terminate the while loop by assigning 1 to variable k.

advertisement
advertisement
Runtime Test Cases
 
 
ENTER YOUR SECRET PIN NUMBER:1520
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: 1
 
YOUR BALANCE IN Rs : 1000
 
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: 2
 
ENTER THE AMOUNT TO WITHDRAW: 200
 
 
PLEASE COLLECT CASH
YOUR CURRENT BALANCE IS 800
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: 3
 
ENTER THE AMOUNT TO DEPOSIT 5000
YOUR BALANCE IS 5800
 
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: 1
 
YOUR BALANCE IN Rs : 5800
 
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: 4
 
THANK U USING ATM
 
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: 4
 
THANK U USING ATM
 
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
********Welcome to ATM Service**************
1. Check Balance
2. Withdraw Cash
3. Deposit Cash
4. Quit
******************?**************************?*
 
Enter your choice: n
 
THANK U USING ATM
 
 
DO U WISH TO HAVE ANOTHER TRANSCATION?(y/n):
 
THANKS FOR USING OUT ATM SERVICE.

Sanfoundry Global Education & Learning Series – 1000 C Programs.

Here’s the list of Best Books in C Programming, Data-Structures and Algorithms

Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!
If you wish to look at other example programs on Simple C Programs, go to Simple C Programs. If you wish to look at programming examples on all topics, go to C Programming Examples.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.