Certificate: "Banking Operations Implementation"
Certificate: "Banking Operations Implementation"
Through this project we have tried to make the user’s have a feel of the
basic banking operations that we do in our day to day life.The purpose of
the software requirement specification (SRS) is to define all functionality,
Behavioral requirements, External interface, Attributes and Performance of
the software. Here we have used various Graphical Functions available in
C/C++ (Graphics.h), which enables the user direct interaction with software.
ACKNOWLEDGEMENT
With great warmth & feelings we deem our proud privilege to have
undertaken the present investigation under the able guidance of Mr.
Govind Jha (Assistant Professor Computer Science, GLAITM
Mathura).We cannot adequately express the appreciation, vast
indebtedness & deep sense of gratitude that we feel for our most respected
guide, for his ongoing interest, advice and constructive criticism and
encouragement in completing this honorable task. He has been a constant
source of inspiration for us.
We also sincerely, admit that our work would not have been crystallized
into the fruits of reality without the firmly cooperation & encouragement of
our colleagues.
TABLE OF CONTENTS
Chapter 1
1 OVERVIEW
1.1 Purpose
1.2 Scope
Chapter 2
2 PLANNING
Chapter 3
3 FEASIBILITY STUDY
Chapter 4
4 FUNCTIONAL REQUIREMENTS
4.1 Hardware
4.2 Software
Chapter 5
5 I/O INTERFACE
Chapter 6
6 TESTING
Chapter 7
7 CONCLUSION
Chapter 8
8 BIBLIOGRAPHY
Chapter 9
9 CODING
Project Overview
1.1 Purpose
1.2 Scope
2. Planning
• Cost estimation
• Model involved
Lines of Code is a unit of measuring the code. Since the code of our project
is written in C. It is easy to understand and its size can be estimated easily.
Our project is very much cost effective. There is no sort of economical
pressure at the developer side.
The model involved in designing of our project is the basic Build and Fix
model which simply involves the building of the modules and fixing it into
the project.
The basic banking operations that we perform in our day to day life are
creation of an account with a bank and the various transactions done are
namely: deposit or withdrawal of money, issuing of passbook and many
more. This project clearly displays all the basic operations which will help
user better understand the banking system of our country.
Banking in India
Banking in India originated in the last decades of the 18th century. The
oldest bank in existence in India is the State Bank of India, a government-
owned bank that traces its origins back to June 1806 and that is the largest
commercial bank in the country. Central banking is the responsibility of the
Reserve Bank of India, which in 1935 formally took over these
responsibilities from the then Imperial Bank of India, relegating it to
commercial banking functions. After India's independence in 1947, the
Reserve Bank was nationalized and given broader powers. In 1969 the
government nationalized the 14 largest commercial banks; the government
nationalized the six next largest in 1980.
Some accounts charge you a monthly fee for the privilege of using their
services. If you have no money to give to them, why bother paying that
service charge every month? Service fees at most banks are usually fairly
low, so it might be worth it for you to just keep an account open if you know
that you'll at least have some money to put away some time. But it's still an
expense to plan for.
Basic Transactions
The basic transactions are:
1. Deposit
2. Withdrawal
Both these transactions can be done by two means first is through the
cheque and the other is through is through cash.
Debit and credit are formal bookkeeping and accounting terms. They are
the most fundamental concepts in accounting, representing the two sides of
each individual transaction recorded in any accounting system. A debit
transaction indicates an asset or an expense transaction, a credit indicates
a transaction that will cause a liability or a gain. A debit transaction can also
be used to reduce a credit balance or increase a debit balance. A credit
transaction can be used to decrease a debit balance or increase a credit
balance.
This enables the user to view all his transactions that he has done with the
bank. This could be considered as a soft copy of the pass book that an
account holder gets for his account. The pass book contains all the details
of the account and all the transactions that the account holder has
performed that may be either be deposition of money or withdrawl of
money.
3. FEASIBILITY STUDY
Feasibility study involves study of the system and to look whether the
system does the kind of job expected from it. The objective of the feasibility
study is not to solve the problem but to predict (on the basis of system
analysis & problem definition) that if it does the kind of work expected on it,
in a reasonable period of elapsed time, & consistent with the financial &
processing objective and needs of the organization or any Placement
Agency.
Feasibility study analysis is done in respect of the following:
Economic feasibility
All the required hardware and the software is easily available in the market,
therefore this project is very economical for it. Also there is no need of
special training for end user or any consultant.
Legal feasibility
Operational feasibility
The proposed system solves the problems very efficiently, and takes
advantages of the opportunities identified during scope definition and
satisfies the requirements identified in the requirements analysis phase of
system development.
Schedule feasibility
A project will not fail as it will not take too long to be completed before it is
useful. It can be completed in a given time period. The project timetable is
quiet reasonable.
4. FUNCTIONAL REQUIREMENTS
The hardware we are using here should be able to support the software.
See account
List of accounts
Transactions
Open new account
Edit account
Help
6. TESTING
Levels of Testing
There are 3 levels of testing:
1. Unit Testing
2. Integration Testing
3. System Testing
Unit Testing
The size of a single module is small enough that we can locate an error
fairly easily. The module is small enough that we can attempt to test it in
some demonstrably exhaustive fashion. Confusing interactions of multiple
errors in widely different parts of the software are eliminated.
Integration Testing
The application developed thus makes the user easily understand the
orbital structures are actually designed, and hence provides an easy
environment to understand the various details concerning the respective
elements.
BIBLIOGRAPHY
http://en.wikipedia.org/wiki/Debits_and_credits
http://www.ehow.com/how-to_4845339_open-bank-accounts.html
http://www.arachnoid.com/PLCash/Documentation/BasicOperations.h
tml
#include <graphics.h>
#include <dos.h>
#include <iostream.h>
#include <fstream.h>
#include <process.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>
void gra1();
void gra2(); //Program segment to display some graphic
void box(int,int);
void toggle(int,int);
void selected(int);
//**********************************************************
// THIS CLASS CONTAINS FUNCTIONS RELATED TO DRAW BOX ETC.
//**********************************************************
class shape
{
public : //Public member functions
void line_hor(int, int, int, char) ;
void line_ver(int, int, int, char) ;
void box(int,int,int,int,char) ;
};
//**********************************************************
// THIS CLASS CONTROL ALL THE FUNCTIONS IN THE MENU
//**********************************************************
class control
{
public :
void main_menu(void) ; //Public member functions
void help(void) ;
private :
void edit_menu(void) ; //Private member functions
};
//**********************************************************
// THIS CLASS CONTAINS FUNCTIONS RELATED TO INITIAL DEPOSIT
//**********************************************************
class initial
{
public :
void add_to_file(int, char t_name[30], char t_address[60], float) ;
void display_list(void) ;
void delete_account(int) ;
void update_balance(int, float) ;
void modify(void) ;
int last_accno(void) ;
int found_account(int) ;
char *return_name(int) ; //So that the private members of class
char *return_address(int) ; //can be used in required segments.
float give_balance(int) ;
int recordno(int) ; void display(int) ;
private :
void modify_account(int, char t_name[30], char t_address[60]) ;
void box_for_list(void) ;
int accno ;
char type[10] ; // Cheque or Cash
int dd, mm, yy ; // Date
char tran ; // Deposit or Withdraw
float interest, amount, balance ;
};
//**********************************************************
// CLASS SHAPE :: FUNCTION TO DRAW HORIZONTAL LINE
//**********************************************************
void shape :: line_hor(int column1, int column2, int row, char c)
{
for ( column1; column1<=column2; column1++ )
{
gotoxy(column1,row) ;
cout <<c ;
}
}
//**********************************************************
// CLASS SHAPE :: FUNCTION TO DRAW VERTICAL LINE
//**********************************************************
void shape :: line_ver(int row1, int row2, int column, char c)
{
//**********************************************************
// CLASS SHAPE :: FUNCTION TO DRAW BOX LINE
//**********************************************************
void shape :: box(int column1, int row1, int column2, int row2, char
c)
{
char ch=218 ;
char c1, c2, c3, c4 ;
char l1=196, l2=179 ;
if (c == ch)
{
c1=218 ;
c2=191 ;
c3=192 ;
c4=217 ;
l1 = 196 ;
l2 = 179 ;
}
else
{
c1=c ;
c2=c ;
c3=c ;
c4=c ;
l1 = c ;
l2 = c ;
}
gotoxy(column1,row1) ;
cout <<c1 ;
gotoxy(column2,row1) ;
cout <<c2 ;
gotoxy(column1,row2) ;
cout <<c3 ;
gotoxy(column2,row2) ;
cout <<c4 ;
column1++ ;
column2-- ;
line_hor(column1,column2,row1,l1) ;
line_hor(column1,column2,row2,l1) ;
column1-- ;
column2++ ;
row1++ ;
row2-- ;
line_ver(row1,row2,column1,l2) ;
line_ver(row1,row2,column2,l2) ;
}
//************************************************************************
// CLASS CONTROL :: FUNCTION TO DISPLAY MAIN MENU AND CALL OTHER
FUNCTIONS
//************************************************************************
void control::main_menu(void)
{
//void selected(int);
//void toggle(int,int);
char m1[]="1: SEE ACCOUNT ",m2[]="2: LIST OF
ACCOUNTS",m3[]="3:TRANSACTIONS ",
m4[]="4: OPEN NEW ACCOUNT",m5[]="5: EDIT ACCOUNT ",m6[]="6: HELP",
m7[]="7: QUIT ";
static int counter=0;
while(1)
{
int gd=DETECT,gm=DETECT;
initgraph(&gd,&gm,"..\bgi");
counter++;
setfillstyle(1,7);
floodfill(320,240,1);
settextjustify(1,1);
setcolor(8);
settextstyle(7,0,0);
setusercharsize(27,10,5,3);
if (counter==1)
{
outtextxy(320,35,"B "); delay(200);
outtextxy(320,35," A "); delay(200);
outtextxy(320,35," N "); delay(200);
outtextxy(320,35," K "); delay(200);
outtextxy(320,35," I "); delay(200);
outtextxy(320,35," N "); delay(200);
outtextxy(320,35," G");
for(int i=0,j=640;i<610;i++,j--)
{
setcolor(8);
line(i,15,i-570,15);
line(j,65,j+570,65); delay(5);
putpixel(i-570,15,7);
putpixel(j+570,65,7);
}
}
else
{
setusercharsize(27,12,5,3);
outtextxy(320,35,"B A N K I N G");
setcolor(8);
line(610,15,40,15);
line(600,65,30,65);
}
settextstyle(7,1,5);
outtextxy(90,270,"O P T I O N S");
outtextxy(550,270,"O P T I O N S");
settextstyle(1,0,2);
char ch;
int choice=1,temp;
box(1,9);
box(2,7);
box(3,7);
box(4,7);
box(5,7);
box(6,7);
box(7,7);
setcolor(1);
outtextxy(320,90,m1);
setcolor(15);
outtextxy(320,150,m2);
outtextxy(320,210,m3);
outtextxy(320,270,m4);
outtextxy(320,330,m5);
outtextxy(320,390,m6);
outtextxy(320,450,m7);
//72 up
//80 down
//75 left
//77 right
//13 enter
//49 1
//71 Home
//79 End
//73 PgUp
//81 PgDown
//27 Escape
do
{
temp=choice;
ch=getch();
switch (ch)
{
case 72:
case 75: choice=((--choice+7)%7);
toggle(choice,temp);
continue;
case 77:
case 80: choice=(++choice%7);
toggle(choice,temp);
continue;
case 73: choice=(choice+12)%7;
toggle(choice,temp);
break;
case 81: choice=(choice+2)%7;
toggle(choice,temp);
break;
case 71:
case 49: choice=1;
toggle(choice,temp);
break;
case 50: choice=2;
toggle(choice,temp);
break;
case 51: choice=3;
toggle(choice,temp);
break;
case 52: choice=4;
toggle(choice,temp);
break;
case 53: choice=5;
toggle(choice,temp);
break;
case 54: choice=6;
toggle(choice,temp);
break;
case 79:
case 55: choice=0;
toggle(choice,temp);
break;
case 27: choice=0;
toggle(choice,temp);
case 13: selected(choice);
delay(500);
}
}while (ch!=13&&ch!=27);
for(int i=320;i>0;i--)
{
if((counter==1)||(choice==0))
setcolor(1);
line(320-i,0,320-i,480);
line(320+i,0,320+i,480);
line(0,320-i,640,320-i);
line(0,160+i,640,160+i);
delay(2);
}
closegraph();
if (choice == 1)
{
account a ;
a.display_account() ;
}
else
if (choice == 2)
{
initial ini ;
ini.display_list() ;
}
else
if (choice == 3)
{
account a ;
a.transaction() ;
}
else
if (choice == 4)
{
account a ;
a.new_account() ;
}
else
if (choice == 5)
edit_menu() ;
else
if (choice == 6)
help() ;
else
if (choice == 0)
{
break;
}
}
}
void toggle(int i,int temp)
{
char m1[]="1: SEE ACCOUNT ",m2[]="2: LIST OF
ACCOUNTS",m3[]="3:TRANSACTIONS ",
m4[]="4: OPEN NEW ACCOUNT",m5[]="5: EDIT ACCOUNT ",m6[]="6:
HELP",
m7[]="7: QUIT ";
if (i==0) i=7;
if (temp==0) temp=7;
box(temp,7);
switch(temp)
{
case 1: box(1,7);
setcolor(15);
outtextxy(320,90,m1);
break;
case 2: box(2,7);
setcolor(15);
outtextxy(320,150,m2);
break;
case 3: box(3,7);
setcolor(15);
outtextxy(320,210,m3);
break;
case 4: box(4,7);
setcolor(15);
outtextxy(320,270,m4);
break;
case 5: box(5,7);
setcolor(15);
outtextxy(320,330,m5);
break;
case 6: box(6,7);
setcolor(15);
outtextxy(320,390,m6);
break;
case 7: box(7,7);
setcolor(15);
outtextxy(320,450,m7);
break;
}
switch(i)
{
case 1: box(1,9);
setcolor(1);
outtextxy(320,90,m1);
break;
case 2: box(2,9);
setcolor(1);
outtextxy(320,150,m2);
break;
case 3: box(3,9);
setcolor(1);
outtextxy(320,210,m3);
break;
case 4: box(4,9);
setcolor(1);
outtextxy(320,270,m4);
break;
case 5: box(5,9);
setcolor(1);
outtextxy(320,330,m5);
break;
case 6: box(6,9);
setcolor(1);
outtextxy(320,390,m6);
break;
case 7: box(7,9);
setcolor(1);
outtextxy(320,450,m7);
break;
}
}
void selected(int i)
{
if(i==0) i=7;
delay(350);
setcolor(0);
line(180,60*(i+.5)-20,180,60*(i+.5)+20);
line(180,60*(i+.5)-20,460,60*(i+.5)-20);
setcolor(15);
line(460,60*(i+.5)-20,460,60*(i+.5)+20);
line(180,60*(i+.5)+20,460,60*(i+.5)+20);
line(461,60*(i+.5)-20,461,60*(i+.5)+21);
line(180,60*(i+.5)+21,461,60*(i+.5)+21);
delay(350);
setcolor(15);
line(180,60*(i+.5)-20,180,60*(i+.5)+20);
line(180,60*(i+.5)-20,460,60*(i+.5)-20);
setcolor(0);
line(460,60*(i+.5)-20,460,60*(i+.5)+20);
line(180,60*(i+.5)+20,460,60*(i+.5)+20);
line(461,60*(i+.5)-20,461,60*(i+.5)+21);
line(180,60*(i+.5)+21,461,60*(i+.5)+21);
}
void box(int i,int color)
{
setcolor(5);
line(180,60*(i+.5)-20,180,60*(i+.5)+20);
line(180,60*(i+.5)-20,460,60*(i+.5)-20);
line(460,60*(i+.5)-20,460,60*(i+.5)+20);
line(180,60*(i+.5)+20,460,60*(i+.5)+20);
setfillstyle(1,color);
floodfill(320,60*(i+.5),5);
setcolor(15);
line(180,60*(i+.5)-20,180,60*(i+.5)+20);
line(180,60*(i+.5)-20,460,60*(i+.5)-20);
setcolor(0);
line(460,60*(i+.5)-20,460,60*(i+.5)+20);
line(180,60*(i+.5)+20,460,60*(i+.5)+20);
line(461,60*(i+.5)-20,461,60*(i+.5)+21);
line(180,60*(i+.5)+21,461,60*(i+.5)+21);
}
//************************************************************************
//******************************************************************
// CLASS INITIAL :: THIS FUNCTION RETURN LAST ACCOUNT NO. IN THE FILE
// initial.txt
//******************************************************************
//************************************************************************
// CLASS INITIAL :: THIS FUNCTION RETURN RECORD NO. OF THE GIVEN ACCOUNT
NO.
// IN THE FILE initial.txt
//************************************************************************
//************************************************************************
// CLASS I NITIAL :: THIS FUNCTION DISPLAY THE ACCOUNT FOR GIVEN ACCOUNT
NO.
// FROM THE FILE initial.txt
//************************************************************************
//*********************************************************************
// CLASS INITIAL :: THIS FUNCTION RETURN NAME FOR THE GIVEN ACCOUNT NO.
// IN THE FILE initial.txt
//*********************************************************************
//************************************************************************
// CLASS INITIAL :: THIS FUNCTION RETURN ADDRESS FOR THE GIVEN ACCOUNT
NO.
// IN THE FILE initial.txt
//************************************************************************
// CLASS INITIAL :: THIS FUNCTION RETURN BALANCE FOR THE GIVEN ACCOUNT
NO.
// IN THE FILE initial.txt
//************************************************************************
//***********************************************************************
// CLASS INITIAL :: THIS FUNCTION RETURN 1 IF THE GIVEN ACCOUNT NO. FOUND
// IN THE FILE initial.txt
//***********************************************************************
//**********************************************************************
// CLASS INITIAL :: THIS FUNCTION DRAWS THE BOX FOR THE LIST OF ACCOUNTS
//**********************************************************************
//**********************************************************************
//*****************************************************************
// CLASS INITIAL :: THIS FUNCTION ADDS THE GIVEN DATA INTO THE FILE
// initial.txt
//*****************************************************************
void initial :: add_to_file(int t_accno, char t_name[30], char t_address[60], float t_balance)
{
accno = t_accno ;
strcpy(name,t_name) ;
strcpy(address,t_address) ;
balance = t_balance ;
fstream file ;
file.open("initial.txt", ios::out | ios::app|ios::binary) ;
file.write((char *) this, sizeof(initial)) ;
file.close() ;
}
//***********************************************************************
// CLASS INITIAL :: THIS FUNCTION DELETES RECORD FOR THE GIVEN ACOUNT
NO.
// FROM THE FILE initial.txt
//***********************************************************************
//************************************************************************
// CLASS INITIAL :: THIS FUNCTION UPDATE BALANCE FOR THE GIVEN ACOUNT
NO.
// IN THE FILE initial.txt
//************************************************************************
//**********************************************************************
// CLASS INITIAL :: THIS FUNCTION MODIFIES THE RECORD FOR THE GIVEN
//DATA
// IN THE FILE initial.txt
//**********************************************************************
//************************************************************************
//CLASS INITIAL :: THIS FUNCTION GIVE THE DATA TO MODIFY THE RECORD IN
//THE
// FILE initial.txt
//************************************************************************
//****************************************************************
// CLASS ACCOUNT :: THIS FUNCTION CLEAR THE GIVEN ROW AND COLUMNS
//****************************************************************
//*****************************************************************
// CLASS ACCOUNT :: THIS FUNCTION ADDS THE GIVEN DATA INTO THE FILE
// BANKING.DAT
//*****************************************************************
void account :: add_to_file(int t_accno, int d1, int m1, int y1, char
t_tran, char t_type[10], float t_interest, float t_amount, float t_balance)
{
fstream file ;
file.open("BANKING.DAT", ios::app|ios::binary) ;
accno = t_accno ;
dd = d1 ;
mm = m1 ;
yy = y1 ;
tran = t_tran ;
strcpy(type,t_type) ;
interest = t_interest ;
amount = t_amount ;
balance = t_balance ;
file.write((char *) this, sizeof(account)) ;
file.close() ;
}
//************************************************************************
// CLASS ACCOUNT :: THIS FUNCTION DELETES THE RECORD FOR GIVIN ACCOUNT
//NO.
// FROM FILE BANKING.DAT
//************************************************************************
//**********************************************************
// THIS FUNCTION ACCEPTS THE DATA TO ADD RECORDS IN THE
// FILE BANKING.DAT
//**********************************************************
gotoxy(5,6) ;
cout <<"Date : "<<d1 <<"/" <<m1 <<"/" <<y1 ;
gotoxy(5,8) ;
cout <<"Account no. # " <<t_accno ;
gotoxy(5,10) ;
cout <<"Name : " ;
gotoxy(5,11) ;
cout <<"Address : " ;
gotoxy(5,12) ;
cout <<"Name of Verifying person : " ;
gotoxy(5,14) ;
cout <<"Initial Deposit : " ;
do
{
clear(15,10) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER NAME OF THE PERSON" ;
valid = 1 ;
gotoxy(15,10) ;
gets(t_name) ;
strupr(t_name) ;
if (t_name[0] == '0')
return ;
if (strlen(t_name) == 0 || strlen(t_name) > 25)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("7NAME SHOULD NOT BE BLANK OR GREATER THAN
25") ;
getch() ;
}
} while (!valid) ;
do
{
clear(15,11) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER ADDRESS OF THE PERSON" ;
valid = 1 ;
gotoxy(15,11) ;
gets(t_address) ;
strupr(t_address) ;
if (t_address[0] == '0')
return ;
if (strlen(t_address) == 0 || strlen(t_address) > 55)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("7SHOULD NOT BLANK OR GREATER THAN 55") ;
getch() ;
}
} while (!valid) ;
do
{
char vari[30] ;
clear(31,12) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER NAME OF THE VERIFING PERSON" ;
valid = 1 ;
gotoxy(31,12) ;
gets(vari) ;
strupr(vari) ;
if (vari[0] == '0')
return ;
if (strlen(vari) == 0 || strlen(vari) > 25)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("7SHOULD NOT BLANK OR GREATER THAN 25") ;
getch() ;
}
} while (!valid) ;
do
{
clear(23,14) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER INITIAL AMOUNT TO BE DEPOSIT" ;
valid = 1 ;
gotoxy(23,14) ;
gets(t) ;
t_bal = atof(t) ;
t_balance = t_bal ;
if (t[0] == '0')
return ;
if (t_balance < 500)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("7SHOULD NOT LESS THAN 500 ") ;
getch() ;
}
} while (!valid) ;
clear(5,23) ;
do
{
clear(5,17) ;
valid = 1 ;
gotoxy(5,17) ;
cout <<"Do you want to save the record (y/n) : " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
float t_amount, t_interest ;
t_amount = t_balance ;
t_interest = 0.0 ;
char t_tran, t_type[10] ;
t_tran = 'D' ;
strcpy(t_type,"INITIAL") ;
ini.add_to_file(t_accno,t_name,t_address,t_balance) ;
add_to_file(t_accno,d1,m1,y1,t_tran,t_type,t_interest,t_amount,t_balance);
}
//**********************************************************
// THIS FUNCTION DRAWS THE BOX FOR DISPLAYING RECORD FROM
// FILE BANKING.DAT
//**********************************************************
//**********************************************************
// THIS FUNCTION DISPLAY RECORD FROM THE FILE BANKING.DAT
//**********************************************************
//**********************************************************
// THIS FUNCTION RETURNS THE DIFFERENCE BETWEEN 2 DATES.
//**********************************************************
int account :: no_of_days(int d1, int m1, int y1, int d2, int m2, int y2)
{
static int month[] = {31,28,31,30,31,30,31,31,30,31,30,31} ;
int days = 0 ;
while (d1 != d2 || m1 != m2 || y1 != y2)
{
days++ ;
d1++ ;
if (d1 > month[m1-1])
{
d1 = 1 ;
m1++ ;
}
if (m1 > 12)
{
m1 = 1 ;
y1++ ;
}
}
return days ;
}
//**********************************************************
// THIS FUNCTION CALCULATES INTEREST.
//**********************************************************
//**********************************************************
// THIS FUNCTION MAKES TRANSACTIONS (DEPOSIT/WITHDRAW).
//**********************************************************
add_to_file(t_accno,d1,m1,y1,t_tran,t_type,t_interest,t_amount,t_balance)
;
}
//**********************************************************
// THIS FUNCTION CLOSE THE ACCOUNT (DELETE ACCOUNT).
//**********************************************************
//************************************************************
// THIS IS MAIN FUNCTION CALLING HELP AND MAIN MENU FUNCTIONS
//************************************************************
password = getpass("");
ch=strcmp(a,password);
if(ch>=0)
{
settextstyle(10,0,1);
outtextxy(150,240,"Password Accepted !!!!!");
outtextxy(110,278,"Welcome In Banking Project");
delay(900);
gra1();
gra2();
control c ;
c.help() ;
c.main_menu() ;
}
else
{
settextstyle(10,0,1);
outtextxy(150,240,"Invalid Password !!!!!!!!");
outtextxy(80,278,"You Cannot Enter In The Project");
}
getch();
}
//*************************************************************
// INDIVIDUAL FUNCTION DEFINITIONS
//*************************************************************
void gra1() //Function definition #1
{
clrscr();
char msg[33];
int gdriver=DETECT,gmode;
initgraph (&gdriver, &gmode," c:\\tc\\bgi");
//setfillstyle(1,8);
//setcolor(8);
line(0,300,640,300);
//floodfill(320,240,8);
line(270,80,290,80);
line(370,80,390,80);
line(330,20,330,40);
line(330,120,330,140);
line(290,40,370,40);
line(290,40,290,120);
line(290,120,370,120);
line(370,40,370,120);
line(310,63,350,63);
line(310,63,310,100);
line(310,100,350,100);
line(350,63,350,100);
setfillstyle(1,9);
floodfill(320,72,15);
floodfill(315,90,15);
floodfill(340,90,15);
floodfill(335,65,15);
setfillstyle(1,15);
floodfill(360,100,15);
floodfill(310,60,15);
floodfill(300,100,15);
floodfill(350,50,15);
setfillstyle(1,4);
floodfill(280,100,15);
floodfill(300,30,15);
floodfill(380,50,15);
floodfill(340,130,15);
settextjustify(1,1);
settextstyle(10,0,7);
setcolor(15);
outtextxy(230,200,"H");
outtextxy(290,200,"D"); //TO WRITE HDFC
outtextxy(350,200,"F");
outtextxy(410,200,"C");
setfillstyle(9,7);
floodfill(410,250,15);
floodfill(225,215,15);
//floodfill(275,210,15);
floodfill(350,215,15); //TO FILL THE LETTERS HDFC
floodfill(390,210,15);
floodfill(423,205,15);
floodfill(423,230,15);
floodfill(270,244,15);
floodfill(300,200,15);
setcolor(15);
line (320-150,320-13,320+150,320-13);
line (320-150,320+12,320+150,320+12);
line (320-150,320-13,320-150,320+12);
line (320+150,320+12,320+150,320-13);
int s=30,w;
gotoxy(20,23);
cout<<"LOADING . . .";
for (int
x1=171,x2=171,y1=308,y2=331,y=1,S=0;x1<470;x1++,x2++,y++,S++)
{
setcolor(4);
line (x1,y1,x2,y2);
w=(x1-169)/3;
for (int i=34; i<=78; i++)
{
gotoxy(i,23) ;
cout <<" " ;
}
gotoxy(34,23); cout<<w<<"%";
if (x2>270) s=45; if (x2>370) s=10;
if (x2==320) delay(999); else
delay(s);
}
delay(800);
for (int i=27; i<=78; i++)
{
gotoxy(i,23) ;
cout <<" " ;
}
gotoxy(28,23);
cout<<"COMPLETE"; gotoxy(20,25);
cout<<"PRESS ANY KEY TO CONTINUE ";
getch();
cleardevice();
}
void gra2() //Function definition *2
{
clrscr(); //To make a designer ellipse
int gd=DETECT,gm;
initgraph(&gd, &gm, "c:\\tc\\bgi");
setcolor(8);
ellipse(320,240,0,360,300,150);
settextstyle(10,0,4);
settextjustify(1,1);
setcolor(5);
outtextxy(320,170,"SIMPLE BANKING");
delay(250);
settextstyle(4,0,4);
setcolor(20);
outtextxy(320,220,"Presented By:");
delay(250);
setcolor(9);
settextstyle(10,0,1);
outtextxy(320,315,"GAURAV,MOHIT,MRIDUL,NITIN");
setcolor(2);
delay(2500);
for (int stangle=0;!kbhit();stangle++)
{
setcolor(7);
ellipse(320,240,stangle,stangle+20,300,150);
ellipse(320,240,stangle+180,stangle+200,300,150);
delay(9);
setcolor(8);
ellipse(320,240,stangle-1,stangle+19,300,150);
ellipse(320,240,stangle-1+180,stangle+199,300,150);
}
closegraph();