Mr. Abhishek Gupta Abhiraj Malik 1702517 CSE - 5 (A1)
Mr. Abhishek Gupta Abhiraj Malik 1702517 CSE - 5 (A1)
Mr. Abhishek Gupta Abhiraj Malik 1702517 CSE - 5 (A1)
ON
“Atm Service”
In
(2017 - 2021)
1702517
CSE –5 (A1)
ACKNOWLEDGMENT
I owe my profound gratitude to my project guide Mr. Abhishek Gupta , who took
keen interest in my project and guided me all along, till the completion of the
project work by providing all the necessary information for development of this
game. His constant suggestions for improvements made my work easier and
proficient. . I would also like to thank H.O.D Dr. Manish Mahajan for the whole
hearted support.
Nowadays everyone is very busy in their work. So they feel that job must be easier so this
system is used to reduce their work. Instead of keeping a lot of papers into a record or file
and it may be missed somewhere so, this system help to keep the record of the customer,
also keeps the record of the customer and also easy to access.
1. INTRODUCTION:
Automated Teller Machine(ATM) enables the client of a bank to have access to
their account without going to the bank.
User who uses this product will be able to see all the information and services
provided by ATM.
Product provides services like creating account, cash deposit, cash withdrawal,
cash deposit, delete account etc.
The program is designed in such a way that the user has to enter account and pin
number. Once verified he/she had to enter the options provided in the menu.
2. OBJECTIVE:
Our main objective is to speed up the transactions done by customer. No manual
transactions need generally.
Second objective is to save time which is most important nowadays.
To render accurate services to customer.
The reduction of fraudulent activities.
To achieve speedy processing of customer data.
To reduce error processing, the guarantee of increase security.
Reduce paperwork.
3. TECHNOLOGY USED:
C/C++.
4. SOFTWARE USED:
Code Blocks.
5. ADVANTAGES:
The cost of converting from manual system to computerized system is not
probably more. For construction of the new system no extra resources are
required, only the software requirement is there.
This system is user friendly and flexible, so we can say that service is socially
feasible.
Less effort to complete transaction.
Less time required.
No need to maintain the bulk of papers.
Easy to operate.
6. DFD DIAGRAM:
MEMBER BANKS
Transaction request
Display USER
Balance information
User request
ATM
Information request
Receipt
ACCOUNT PRINTER
DATABASE
Account data
7. FEATURES OF O.S
This projectwork is done on the windows 7 professional, which is the operating system. An
operating system is a set of software tools designed to make it easy for people or
programmers to make optimum use of the computer. People who use computers have
different levels of needs and interest. These peoples can be separated can be two groups,
users and programmers. The user wants a convenient set of commands to manage files of
data or programs, copy and run application package while a programmer used as a set of tools
that can be held together and debug programs.
No matter where you are working, your computer will be easier to use and manage, because
Microsoft Windows 2000 Professional is more compatible and more powerful than any
workstation you’ve used before. The main features of Windows 2000 Professional operating
system are
Easier to use.
Easier to manage
More compatible
More powerful
The systems development life cycle (SDLC), or software development process in systems
engineering, information systems and software engineering, is a process of creating or
altering information systems, and the models and methodologies that people use to develop
these systems. In software engineering, the SDLC concept underpins many kinds of software
development methodologies. These methodologies form the framework for planning and
controlling the creation of an information system: the software development process
A Systems Development Life Cycle (SDLC) adheres to important phases that are essential for
developers, such as planning, analysis, design, and implementation, and are explained in the
section below.It include evaluation of present system, information gathering, feasibility study
and request approval. A number of system development life cycle (SDLC) models have been
created: waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, and
synchronize and stabilize. The oldest of these, and the best known, is the waterfall model: a
sequence of stages in which the output of each stage becomes the input for the next. These
stages can be characterized and divided up in different ways, including the following:
Systems analysis, requirements definition: Defines project goals into defined functions
and operation of the intended application. Analyzes end-user information needs.
Systems design: Describes desired features and operations in detail, including screen
layouts, business rules, process diagrams, pseudocode and other documentation.
Development: The real code is written here.
Integration and testing: Brings all the pieces together into a special testing environment,
then checks for errors, bugs and interoperability.
Acceptance, installation, deployment: The final stage of initial development, where the
software is put into production and runs actual business.
Maintenance: What happens during the rest of the software's life: changes, correction,
additions, moves to a different computing platform and more. This is often the longest of
the stages.
10.Module Design:
Create account.
Withdraw.
Deposit.
11. Testing:
Software Testing is the process of executing software in a controlled manner, in order to
answer the question - Does the software behave as specified?. Software testing is often used
in association with the terms verification and validation. Validation is the checking or testing
of items, includes software, for conformance and consistency with an associated specification.
Software testing is just one kind of verification, which also uses techniques such as reviews,
analysis, inspections, and walkthroughs. Validation is the process of checking that what
has been specified is what the user actually wanted.
Software testing should not be confused with debugging. Debugging is the process of
analyzing and localizing bugs when software does not behave as expected. Although the
identification of some bugs will be obvious from playing with the software, a methodical
approach to software testing is a much more thorough means for identifying bugs. Debugging
is therefore an activity which supports testing, but cannot replace testing.
Other activities which are often associated with software testing are static analysis and
dynamic analysis. Static analysis investigates the source code of software, looking for problems
and gathering metrics without actually executing the code. Dynamic analysis
Testing is a set of activity that can be planned in advanced and conducted systematically.
Testing begins at the module level and work towards the integration of entire computers
based system. Nothing is complete without testing, as it vital success of the system testing
objectives, there are several rules that can serve as testing objectives. They are
For correctness
For implementation efficiency
For computational complexity
Test for correctness are supposed to verify that a program does exactly what it was designed to
do. This is much more difficult than it may at first appear, especially for large programs.
Test Plan:
A test plan implies a series of desired course of action to be followed in accomplishing various
testing methods. The Test Plan acts as a blue print for the action that is to be followed. The
software engineers create a computer program, its documentation and related data structures.
The software developers is always responsible for testing the individual units of the programs,
ensuring that each performs the function for which it was designed. There is an independent
test group (ITG) which is to remove the inherent problems associated with letting the builder to
test the thing that has been built. The specific objectives of testing should be stated in
measurable terms. So that the mean time to failure, the cost to find and fix the defects,
remaining defect density or frequency of occurrence and test work-hours per regression test all
should be stated within the test plan.
Unit testing
Integration Testing
Data validation Testing
Output Testing
Unit Testing:
A test plan implies a series of desired course of action to be followed in accomplishing various
testing methods. The Test Plan acts as a blue print for the action that is to be followed. The
software engineers create a computer program, its documentation and related data structures.
The software developers is always responsible for testing the individual units of the programs,
ensuring that each performs the function for which it was designed. There is an independent
test group (ITG) which is to remove the inherent problems associated with letting the builder to
test the thing that has been built. The specific objectives of testing should be stated in
measurable terms. So that the mean time to failure, the cost to find and fix the defects,
remaining defect density or frequency of occurrence and test work-hours per regression test all
should be stated within the test plan.
The levels of testing include:
Unit testing
Integration Testing
Data validation Testing
Output Testing
Integration Testing:
Integration testing is systematic technique for constructing the program structure while at the same
time conducting tests to uncover errors associated with interfacing. The objective is to take unit
tested components and build a program structure that has been dictated by design. The entire
program is tested as whole. Correction is difficult because isolation of causes is complicated by vast
expanse of entire program. Once these errors are corrected, new ones appear and the process
continues in a seemingly endless loop.
After unit testing in Sell-Soft System all the modules were integrated to test for any inconsistencies
in the interfaces. Moreover differences in program structures were removed and a unique program
structure was evolved.
This is the final step in testing. In this the entire system was tested as a whole with all forms, code,
modules and class modules. This form of testing is popularly known as Black Box testing or System
tests.
Black Box testing method focuses on the functional requirements of the software. That is, Black Box
testing enables the software engineer to derive sets of input conditions that will fully exercise all
functional requirements for a program.
Black Box testing attempts to find errors in the following categories; incorrect or missing functions,
interface errors, errors in data structures or external data access, performance errors and
initialization errors and termination errors
Output Testing or User Acceptance Testing:
The system considered is tested for user acceptance; here it should satisfy the firm’s need. The
software should keep in touch with perspective system; user at the time of developing and making
changes whenever required. This done with respect to the following points
The above testing is done taking various kinds of test data. Preparation of test data plays a vital role
in the system testing. After preparing the test data, the system under study is tested using that test
data. While testing the system by which test data errors are again uncovered and corrected by using
above testing steps and corrections are also noted for future use.
Validation Checking:
At the culmination of integration testing, software is completely assembled as a package; interfacing
errors have been uncovered and corrected, and a final series of software test-validation checks may
begin. Validation can be defined in many ways, but a simple definition (Albeit Harsh) is that
validation succeeds when software functions in a manner that can be reasonably expected by a
customer. Software validation is achieved through a series of black-box tests to be conducted and a
test procedure defines specific test cases that will be used in attempt to uncover errors in conformity
with requirements. Both the plan and procedure are designed to ensure that all functional
requirements are satisfied; all performance requirements are achieved; documentation is correct
and human –Engineered and other requirements are met. Once the application was made free of all
logical and interface errors , inputting dummy data to ensure that the software developed satisfied
all the requirements of the user did validation checks .However , the data are created with the intent
of determining whether the system will process them correctly .
In the proposed system, if the clients click the send button after selecting a file from his file list, then
the system will show the confirmation message for sending files. Similarly if a client makes an
attempt to download a file from the server file list, then also the system will show the confirmation
message for downloading. This is how the data validations were made in the proposed system.
void frame_fix();
char *date_time ();
void scroll_note();
void sub_menu();
FILE *ff,*fs,*fp,*fg;
class date;
private:
int mbno,pcode,amt,prevent;
int adl;
int day,month,year,hour,min,sec;
char fname[10],sname[10],p_name[20],city[15],email[20],dob[15],type;
char acno[7],pin[5];
public:
void create_account();
void help();
void main_menu();
void sub_menu();
void cash_deposit(machine);
void fund_transfer(machine);
void change_pin(machine);
void other_services(machine);
void fast_cash(machine);
void cash_withdraw(machine);
void balance_enquiry(machine);
void mini_statement(machine);
void note();
machine login_check();
};
public:
int aday,amonth,ayear,ahour,amin,asec;
void date_times()
GetLocalTime(&t);
aday=t.wDay,amonth=t.wMonth,ayear=t.wYear,ah
our=t.wHour,amin=t.wMinute,asec=t.wSecond;
};
void machine::sub_menu() //after user login the following fuctions are displayed
system("cls");
int cpin;
machine r;
r=login_check();
fclose(fg);
while(1)
int i;
system("cls");
system("COLOR 1F");
frame();
gotoxy(1,6);
cout<<"CASH DEPOSIT";
gotoxy(1,10);
cout<<"FUND TRANSFER";
gotoxy(1,14);
cout<<"PIN CHANGE";
gotoxy(1,18);
cout<<"OTHER SERVICES";
gotoxy(64,6);
cout<<"FAST CASH";
gotoxy(64,10);
cout<<"CASH WITHDRAWL";
gotoxy(64,14);
cout<<"BALANCE ENQUIRY";
gotoxy(64,18);
cout<<"MINI STATEMENT";
gotoxy(28,4);
for(int i=0;i<24;i++)
cout<<s[i];
Sleep(100);
}
int op;
gotoxy(38,24);
cout<<" ";
cin>>op;
switch(op)
case 1:
cash_deposit(r);
break;
case 2:
fund_transfer(r);
break;
case 3:
change_pin(r);
break;
case 4:
other_services(r);
break;
case 5:
fast_cash(r);
break;
case 6:
cash_withdraw(r);
break;
case 7:
balance_enquiry(r);
break;
case 8:
mini_statement(r);
break;
default:
gotoxy(64,24);
cout<<"Invalid Input ";
cout<<"\a\a\a";
//terminating to mainmenu
Sleep(1000);
main_menu();
system("cls");
system("COLOR 70");
for(int i=0;i<25;i++)
gotoxy(2,i);
cout<<"|";
gotoxy(77,i);
cout<<"|";
gotoxy(3,0);
gotoxy(3,2);
cout<<"you might have already opened an account previously.
";
gotoxy(3,22);
gotoxy(3,23);
gotoxy(3,24);
cout<<"Contact at rohithvutnoor.blogspot.in";
gotoxy(3,5);
flow("ATM Services");
gotoxy(3,8);
gotoxy(3,10);
gotoxy(3,12);
gotoxy(3,14);
gotoxy(3,16);
getch();
main_menu();
machine a;
system("cls");
system("COLOR F5");
for(int i=0;i<25;i++)
gotoxy(5,i);
cout<<"|";
gotoxy(75,i);
cout<<"|";
gotoxy(34,2);
cout<<"APPLICATION FORM";
gotoxy(10,5);
cin>>a.fname>>a.sname;
gotoxy(10,7);
cout<<"Father/Guardian : ";
cin>>a.p_name;
gotoxy(10,9);
cin>>a.dob;
gotoxy(10,11);
cin>>a.type;
gotoxy(10,13);
cout<<"City : ";
cin>>a.city;
gotoxy(10,15);
cout<<"PINCODE : ";
cin>>a.pcode;
gotoxy(10,17);
cout<<"Email Id : ";
cin>>a.email;
gotoxy(10,19);
cin>>a.amt;
strcpy(a.pin,"6235");
fs=fopen("accounts.txt","rb+");
//for
initail account there must be a file with his deatails
machine b;
while(fscanf(fs,"%s %s %s %s %d \n",b.acno,b.pin,b.fname,b.sname,&b.amt)!=EOF);
strcpy(a.acno,b.acno);
if(a.acno[5]!='9')
a.acno[5]=a.acno[5]+1;
else
a.acno[4]=a.acno[4]+1;
a.acno[5]='0';
fprintf(fs,"%s %s %s %s %d
\n",a.acno,a.pin,a.fname,a.sname,a.amt);
fclose(fs);
ff=fopen("atm_users.txt","a");
fprintf(ff,"%s %s %s%s %s %s %c %s %d %s %d
\n",a.acno,a.pin,a.fname,a.sname,a.p_name,a.dob,a.type,a.city,a.pcode,a.email,a.amt);
fclose(ff);
date d;
d.date_times();
a.day=d.aday;a.month=d.amonth;a.year=d.ayear;
a.hour=d.ahour;a.min=d.amin;a.sec=d.asec;
fp=fopen("transactions.txt","a");
fprintf(fp,"%s %s %d %d %d %d %d %d %d %d %d
\n",a.acno,a.fname,a.prev,a.adl,a.amt,a.day,a.month,a.year,a.hour,a.min,a.sec);
fclose(fp);
gotoxy(35,21);
cout<<" SUBMIT";
char c;
c=getche();
gotoxy(10,23);
cout<<"Loading";
Sleep(400);
cout<<".";
Sleep(400);
cout<<".";
Sleep(400);
cout<<".";
Sleep(400);
system("cls");
system("COLOR B0");
frame_fix();
gotoxy(22,5);
gotoxy(29,12);
gotoxy(8,19);
gotoxy(28,23);
char op;
op=getche();
main_menu();
}
void machine:: balance_enquiry(machine r) //argument object recieved from login_check
function
system("cls");
frame_fix();
gotoxy(22,10);
gotoxy(22,13);
Sleep(3000);
system("cls");
gotoxy(18,13);
Sleep(1000);
system("cls");
gotoxy(18,13);
Sleep(1000);
main_menu();
}
void machine:: cash_deposit(machine r) //argument object recieved from login_check
function
system("cls");
int cash;
frame_fix();
gotoxy(22,6);
cin>>cash;
machine g;
strcpy(g.acno,r.acno);strcpy(g.fname,r.fname);strcpy(g.sname,r.
sname);
strcpy(g.pin,r.pin);
date d;
d.date_times();
g.day=d.aday;g.month=d.amonth;g.year=d.ayear;
g.hour=d.ahour;g.min=d.amin;g.sec=d.asec;
//transacton APPENDING to transactions file
machine a;
f1=fopen("transactions.txt","a");
fprintf(f1,"%s %s %d %d %d %d %d %d %d %d %d
\n",g.acno,g.fname,g.prev,g.adl,g.amt,g.day,g.month,g.year,g.hour,g.min,g.sec);
fclose(f1);
f3=fopen("temp.txt","w");
while(fscanf(f2,"%s %s %s %s %d \n",a.acno,a.pin,a.fname,a.sname,&a.amt)!=EOF)
if(strcmp(g.acno,a.acno)==0)
a.amt=g.amt;
fprintf(f3,"%s %s %s %s %d
\n",a.acno,a.pin,a.fname,a.sname,a.amt);
fclose(f3);
fclose(f2);
system("cls");
frame_fix();
gotoxy(18,12);
Sleep(3000);
system("cls");
gotoxy(18,13);
Sleep(1000);
system("cls");
gotoxy(18,13);
Sleep(1000);
main_menu();
system("cls");
int cash;
frame_fix();
gotoxy(22,6);
cin>>cash;
if(cash>r.amt)
{
gotoxy(15,13);
Sleep(1000);
main_menu();
machine g;
g.prev=r.amt;
strcpy(g.acno,r.acno);strcpy(g.fname,r.fname);strcpy(g.sname,r.
sname);
strcpy(g.pin,r.pin);
g.adl=cash;
date d;
d.date_times();
g.day=d.aday;g.month=d.amonth;g.year=d.ayear;
g.hour=d.ahour;g.min=d.amin;g.sec=d.asec;
machine a;
f1=fopen("transactions.txt","a");
fprintf(f1,"%s %s %d %d %d %d %d %d %d %d %d
\n",g.acno,g.fname,g.prev,g.adl,g.amt,g.day,g.month,g.year,g.hour,g.min,g.sec);
fclose(f1);
f2=fopen("accounts.txt","r"); //finding current account
details to accounts file for changing amount
f3=fopen("temp.txt","w");
while(fscanf(f2,"%s %s %s %s %d \n",a.acno,a.pin,a.fname,a.sname,&a.amt)!=EOF)
if(strcmp(g.acno,a.acno)==0)
a.amt=g.amt;
fprintf(f3,"%s %s %s %s %d
\n",a.acno,a.pin,a.fname,a.sname,a.amt);
fclose(f3);
fclose(f2);
system("cls");
frame_fix();
gotoxy(18,12);
Sleep(3000);
system("cls");
gotoxy(18,13);
Sleep(1000);
system("cls");
gotoxy(18,13);
cout<<" TRANSACTION COMPLETED
SUCCESSFULLY ";
Sleep(100);
gotoxy(30,16);play(2);
Sleep(1000);
main_menu();getch();
system("cls");
frame_fix();
char npin1[5],npin2[5];
gotoxy(2,11);
gotoxy(2,13);
cout<<"NOBODY SHOULD SEE THE PIN";
gotoxy(2,15);
gotoxy(2,17);
gotoxy(2,19);
cout<<"CHANGING IT FREQUENTLY.";
gotoxy(30,6);
cin>>npin1;
gotoxy(30,8);
cin>>npin2;
machine a;
if(strcmp(npin1,npin2)==0)
fk=fopen("accounts.txt","r");
while(fscanf(fk,"%s %s %s %s %d
\n",a.acno,a.pin,a.fname,a.sname,&a.amt)!=EOF)
if(strcmp(g.acno,a.acno)==0)
strcpy(a.pin,npin1);
fprintf(fl,"%s %s %s %s %d
\n",a.acno,a.pin,a.fname,a.sname,a.amt);
}
fclose(fl);
fclose(fk);
else
gotoxy(40,16);
Sleep(1000);
main_menu();
system("cls");
frame_fix();
gotoxy(18,13);
Sleep(1000);
system("cls");
gotoxy(18,13);
Sleep(1000);
main_menu();
}
system("cls");
system("COLOR 70");
for(int i=0;i<25;i++)
gotoxy(2,i);
cout<<"|";
gotoxy(77,i);
cout<<"|";
gotoxy(3,0);
gotoxy(59,0);
cout<<"Mr."<<strupr(r.fname)<<"_"<<strupr(r.sname);//name
of user on top right
gotoxy(32,1);
gotoxy(32,1);
cout<<"POINTS TO NOTE";gotoxy(3,3);
flow("Ensure that you change the PIN number after first using
your card also");gotoxy(3,4);
gotoxy(3,6);
flow("Ensure that nobody else can see you entering your PIN
number at the ATM.");
gotoxy(3,8);
flow("Do not use the ATM machine when strangers are inside
the ATM counter.");
gotoxy(3,10);
gotoxy(3,12);
gotoxy(3,13);
gotoxy(3,15);
gotoxy(3,17);
gotoxy(3,18);
gotoxy(3,20);
gotoxy(3,21);
play(3);
gotoxy(3,23);
flow("-------------------------------");
gotoxy(45,23);
flow("--------------------------------");
gotoxy(35,23);
gotoxy(78,24);cout<<"";
system("cls");
system("color 2F");
gotoxy(18,13);
Sleep(1000);
main_menu();
int main()
return 0;
}
13. SCREENSHOTS –
14. CONCLUSION :
The project titled as “Atm Services” is a web based application. This software provides facility
for, create ,update and delete accountants details after login . it can search branch wise
accountant. And also search all candidates studying in the various branches and can update and
delete them The software is developed with modular approach. All modules in the system have
been tested with valid data and invalid data and everything work successfully. Thus the system
has fulfilled all the objectives identified and is able to replace the existing system.
The project has been completed successfully with the maximum satisfaction of the
organization. The constraints are met and overcome successfully. The system is designed as like
it was decided in the design phase. The project gives good idea on developing a full-fledged
application satisfying the user requirements.
The system is very flexible and versatile. This software has a user-friendly screen that enables
the user to use without any inconvenience. Validation checks induced have greatly reduced
errors. Provisions have been made to upgrade the software.
15. REFERENCES :
www.tutorialspoint.com
www.w3schools.com
www.wikipedia.com