Final Comp
Final Comp
KALOPUL, KATHMANDU
PROJECT - COMPUTER
“ATM MACHINE PROGRAMMED IN C”
This project has been monumental for our understanding of the C programming
language and its various methods and syntaxes. It has broadened our horizons of
understanding about the language. Our teacher, Mr. Bikash Poudel has been very
helpful in this project. So, I thank him from the bottom of my heart.
I am also very thankful to my parents who have boosted me morally with their
continuous support. All of this is being possible because of my parents who
brought me up to this place. Their guidance and support helped me every time to
complete this project.
I am very thankful to my friends also who helped me to complete this project when
any problems arise. Their innovative idea was very useful for me to complete this
project.
I am also grateful to the college, Xavier International College for providing us with
the resources to understand this programming language.
1
Student Deceleration
I hereby declare that the project entitled “ATM machine made in C” is made by me,
Sushan Khadka under the guidance and supervision of Mr. Bikash Poudel sir, A
Computer Science tutor in Xavier International College.
I also declare that this project is the result of my own hard work, research
and knowledge. This project has not been submitted to any other institution and is
not a result of plagiarism.
Grade: 12
Section: SD34
…………………………………………………..
SUSHAN KHADKA
2
Table of Contents
Acknowledgement 1
Student Deceleration 2
Introduction 4
Objective 5
Methodology 6
Design 7
Appendix 8
Conclusion 11
References 11
3
Introduction
In this project, A fully functional virtual ATM machine has been developed
that replicates the applications of real world ATM machines. It can check the
balance of the user's bank account, Withdraw money and deposit money. To
access all these features, the user has to enter his unique 4 digit pin. The
user can select the “exit” option if he doesn’t want to make any transaction.
The main intension of the project given is to make an ATM machine interface using
C language coding. By following the intension, the code written is an ATM like
interface that allows user to perform Withdrawal, Deposit and Balance Check by
the help of an ATM. The user can deposit or withdraw money in the multiples of
1000’s or check their balance. The user can continue using the ATM or can exit
after each action. The code uses do-while loop to make user to use the ATM or exit
it. In the code if-else statement and switch case is also used. By the help of switch
case, user can choose whether he or she wants to withdraw money, deposit money
or check the balance.
This code can serve as a starting point for building a more complex banking
system. The program can be expanded to include more features such as fund
transfers, bill payments, and account statements. Overall, this program
demonstrates the basics of ATM functionality and can be used as a building block
for developing more advanced banking applications.
4
Objective
The objective of this project is to create a banking system that meets the
basic needs of customers while also being easy to use, reliable and secure.
The code provided is an essential part of the system and will be considered
as a building block for developing a more complex banking system with
more and more features.
This project was done with the main focus to show the users how a banking
system and ATM works which they use in real life.
5
Methodology
This project has been made by utilizing various features of the C
programming language. Here is a methodology of this program.
1. Initialize the program by setting the user's PIN and account balance to
predefined values.
2. Display a welcome message to the user.
3. Prompt the user to enter their 4-digit PIN.
4. Verify the user's PIN by comparing it to the predefined value. If the
PIN is correct, proceed to step 6. If the PIN is incorrect, allow the user
to enter their PIN again. Repeat this step until the user enters the
correct PIN or exceeds the maximum number of attempts.
5. If the user exceeds the maximum number of attempts, terminate the
program. Otherwise, proceed to step 6.
6. Display a menu of options to the user: checking their balance,
withdrawing cash, depositing cash, or exiting the program.
7. Prompt the user to select an option from the menu.
8. If the user selects "Check balance", display their current balance and
return to step 6.
9. If the user selects "Withdraw cash", prompt them to enter the amount
of cash they wish to withdraw.
10. If the requested withdrawal amount is greater than their current
balance, display an error message indicating insufficient funds and
return to step 6.
11. If the requested withdrawal amount is within their available balance,
subtract the withdrawal amount from their account balance, display a
message indicating the successful withdrawal and their new balance,
and return to step 6.
12. If the user selects "Deposit cash", prompt them to enter the amount of
cash they wish to deposit.
13. Add the deposited amount to their account balance, display a message
indicating the successful deposit and their new balance, and return to
step 6.
14. If the user selects "Exit", display a goodbye message and terminate the
program.
15. If the user selects an invalid option, display an error message
indicating that the option is invalid and return to step 6.
16. Repeat steps 6-15 until the user chooses to exit the program.
6
Design
Below to describe about how this ATM system works a flow chart have been
made.
select to perform
various tasks
Complete Authentication
Process
Explaining about the flow chart, at first a customer goes to the Bank ATM.
After that the user enters the name which is associated with the bank
account. The name goes to the bank management system and authenticates
the user.After that user can select the option which the user wants to do and
the process completes. After the process completes the user gets the receipt.
7
Appendix
The screenshot of source code of the given project and the output of the
code i.e., of ATM interface is kept below
8
The output of this source code is kept below.
9
10
Conclusion
Overall, this program provides a foundation for building more complex ATM
systems while highlighting the importance of considering security, accuracy,
and error handling in financial applications.
References
Computer Science Book (Issued By CDC) Nepal-2078
11