0% found this document useful (0 votes)
11 views97 pages

Importance of Computer Education Today

The document acknowledges the guidance of Ms. Sonika Rani and expresses gratitude towards family and friends for their support in completing a project on the role of computer education and C++ programming. It discusses the importance of computer literacy in modern society, the object-oriented programming approach, and applications of C++, particularly in banking and IT. Additionally, it covers the evolution of banking systems, including nationalization and privatization, and the impact of information technology on banking services.

Uploaded by

rajansingla3393
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views97 pages

Importance of Computer Education Today

The document acknowledges the guidance of Ms. Sonika Rani and expresses gratitude towards family and friends for their support in completing a project on the role of computer education and C++ programming. It discusses the importance of computer literacy in modern society, the object-oriented programming approach, and applications of C++, particularly in banking and IT. Additionally, it covers the evolution of banking systems, including nationalization and privatization, and the impact of information technology on banking services.

Uploaded by

rajansingla3393
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd

ACKNOWLEDGMENT

I would like express my thanks to respected Ms. Sonika Rani


for her guidance and consent encourage which enabled me to
successfully complete my project and provides me lab facilities
for completing my project under the good environment.
I would like also thanks to my parents and friends
who encourage me and help me to complete my important
project.

MANPREET KAUR

1
ROLE OF COMPUTER EDUCATION IN
TODAY’S LIFE

Today computer is an inherent part of life. Computer has move


into sociality so rapidly and so completely that we need basic
computer skills to puree our career goals and function
effectively in sociality. In short, to live and work in a
computerized sociality, we should be computer literate.
Concept about how computer system work and can be
effectively used for general purpose and special purpose.
Therefore, it is important to know how to handle a computer
system otherwise one can’t take the full advantages of
computer. Today all govt., semi govt., and private sectors are
being computerized and more and more IT professionals are
required. Only the persons with computer knowledge can avail
themselves of these employment opportunities.

2
INTRODUCTION TO C++: -

High level languages were introduced


to give the programmers more tool with which to handle the
complexity .C++ an advanced form of C, having the new
feature with advanced technology named OOP’s (Object
Oriented Programming)
A high level language which is called
Programming language is used to write sequence of
instructions that can be run by a computer .Similar to Natural
languages, such as English, French etc. Programming
languages have a vocabulary, grammar and syntax. As natural
languages are not suited for programming computers because
they are ambiguous i.e. their vocabulary grammatical structure
can be interpreted in multiple ways. So the language used to
programs computers
must have simple logical structure and the rules for their
grammar, spelling must be possible.
Programming languages vary greatly in their
sophistication and their degree of versatility. Some
programming languages are written to address a particular kind
of computing problem or for use on a particular model of
computer system . for instance ,programming languages such
as FORTRAN and COBOL were written to solve certain
general types of programming problems- FORTRAN for
scientific applications .while FORTRAN was a very impressive
first step, it is hardly a language that encourages clear and
easily understood programs.
3
Although these languages were designed to
address specific categories of computer problems, they are
highly portable ,meaning that they may be used to program
many types of computers .Other languages ,such as machine
languages, are designed to be used to by one specific model of
computer system, or even by one specific computer in certain
research applications .the most commonly used programming
languages are highly
portable and can be used to effectively solve diverse types of
computing problems. Languages like C, PASCAL and BASIC
fall into this category.

4
OBJECT ORIENTED APPROACH

Object Oriented Programming is a new way of approaching the


job of programming. Approaches to programming have
changed dramatically since the invention of the computer in
order to accommodate the increasing complexity of programs.
e.g. when computers were first invented, programming was
done by toggling the binary machine instructions using front
panel which gave programs a few hundred instructions
language. As programs grew, assembly language was invented
so that a programmer could deal with larger, increasingly
complex language using symbolic representations of the
machine instruction.

The key ideas of Object Oriented Approach are:


 Objects
 Encapsulation
 Class and Inheritance
 Instances and Instantiation
 Methods and Messages

5
APPLICATIONS OF C++

C++ is a versatile language for handling very large programs


including development of editors, compilers, databases,
communication systems and any complex real -life application
system. Number of systems, applications and libraries that are
completely or mostly written in C++.
Whether C++ solves the complex problems
in the simpler way, the C++ (OOP’s) have number of
applications in different areas like:

1. Security software or mechanism designed in C++ for


Banks, finance oriented organizations etc.
2. The Monitoring and Discovery service i.e. information
infrastructure created by using the OOP’s. It provides a
uniform framework for creating and accessing system
configuration and status information.
3. All the resource management software are designed
and developed through C++.
4. Monitoring and management services can be easily
maintained.
5. Data management software manage the data through
C++.
6. Communication can be easily established and
managed by using C++ library. It provides a high –level
C API for communications. It performs communication
and file I/O operations. This C++ library enhances
socket system calls by providing secure communication
with the authentication and encryption features.

6
7. C++ software are highly portable and can be
implemented and linked with any real life applications.

7
BANK NATIONALISATION

The govt. take steps of nationalization of the major commercial


banks the objective of nationalization;-
“To help in achieving balanced regional & sect oral asked to
make 40% advance to priority/neglected sector.
(1) The banks which are nationalized in 1969 are:-
a) Bank of Baroda.
b) Punjab national Bank.
c) Bank of India.
d) Canara Bank.
e) Central Bank of India.
f) Union Bank of India.
g) United Bank of India.

(2) In 1980 six more bank are nationalized. These are:-


a) oriental Bank of Commerce
b) corporation Bank
c) Andhra Bank
d) Vijaya Bank
e) Punjab & Sind Bank
In 1993-94 new bank of India was merged with
Punjab & Sind Bank.

(3) problem after nationalization:-


a) Lack of effective management information system.
b) Growing complacent attitude of the officers & staff
member’s lads.

8
c) The political interference led to indiscriminate
lending activities.
d) Increase in non- performing assets of the banks.
e) Uniformity in the operations led to lack of
competition and efficiency.

9
PRIVATISATION

However during post independence period pvt. Banks exits.


Some of these banks are:-

1. Vyasya Bank
2. Federal Bank.
3. J& K Bank Ltd.
4. Luxmi Vilas Bank.
5. Lord Krishna Bank.
6. Dhan Luxmi Bank.

It was Narasimham committee which gives more stress to


privatization. The present policy of RBI is to encourage
established of banks in private sector. Only those private banks
will be permitted to start functioning which has paid up capital
worth Rs. 100 crore. At first 136 applications were received out
of which 11 applications are held suitable as a result of new
economic policy these banks started its operations. These
banks are:-
1. UTI Bank Ltd- it is the first bank to start its operation. Its
headquarter are in Ahemdabad.
2. ICICI Bank Ltd.
HDFC Bank.
3. IDBI Bank Ltd.
4. Development & co –operation Bank Ltd.
6. Bank of Punjab Ltd.

10
ROLE OF IT IN BANKING SYSTEM:-

IT has made very changes in banking system. IT increases


the efficiency & productivity in field of banking.
Information technology has helped the banking system a
lot as its helps in breaking the barriers of information flow &
the need for faster information has reduced the hierarchical
system in the bank. It has helped in wiping out deference
between time & distance.
(1). Change in organizational structure:-
(2). Change in service Quality:-

The virtual financial services can be categorized as follows


 ATM
 Electronic fund transfer at point of sale.(EFTPOS)
 Remote Banking.
 Smart cards.
These services are discussed in detail as under:-

1. Automated teller machine:- through this machine following


activities can be done:-
 Cash withdrawals.
 Fast cash.
 Mini statement.
 Payment to third parties.
2. EFTPOS:- EFTPOS card used to initiate transaction
 Process takes place electronically.
 Transaction continued manually.
 Funds not debited electronically..
3. remote Banking Services:-
11
 Balance enquiry.
 Fund transfer i.e. payment to third party.

* Services not available through remote banking:-


 Cash withdrawals
 Cash/cheque deposit.
[Link] card: - Smart cards are other technological innovations
which used in payment system. These cards were 1st
introduced in France alter on in other European countries &
U.S.A. It looks exactly like any other plastic card on ATM card
with an integrated circuit(IC chip) installed. The IC contains
memory which very contains a processor & communicates with
external would through 4-5 contacts on the surface of the card.
There are two types of smart cards.
Services of smart cards:-
 Airline tickets
 Hotel reservations
 Telephone services
 Petrol purchase

12
Modes of Banking

Home banking: Home banking play vital role in banking


system. A customer can Query from office with the help of
telecommunication customer can check get statement of
account, transfer fund bill payment, and other query. This is
latest technology for Indian banking.

Types of Home banking:


(1) E-Banking
(2) Mobile banking

E-Banking: - E-banking also called internet banking. It is


based on internet technology. The money can be transfer on
another one virtually. In internet banking a user can access his
account with help of password or ID No. Customer not need
come bank. They can perform any activity regarding payment,
receipt etc. From his/her office/home there is no human
operator every activity is respond by server. The cost per
transaction by E- Banking is 27times less then manual
transaction.
* Electronic cheque: in E-Banking payment can be made by
electronic cheque.
Mobile Banking: - it is also a form of IT technology. A user
having mobile can make query and transaction from where
using mobile.
For example: - He /she can make transfer of fund from one
account to another.

13
SYSTEM REQUIREMENT ANALYSIS

REQUIREMENT ANALYSIS:

This is the first and the foremost step in System Development


Life Cycle. It is done in order to understand the problem that
the software system is expected to solve. The emphasis in the
requirement analysis is on identifying what is needed from the
system not how the system will achieve its goals.
In our project the problem understanding began
with the through study of the current system and its working as
the automation of present system was what was required and
proposed by the client. The study of the current system also
included its merits and demerits. so detailed analysis of the
existing system were obtained and requirements that the
proposed system must offer were also understood.

FEASIBILITY STUDY:

This project becomes possible with the help of Miss Sonika


Rani , our guide and our personal efforts. Before starting this
project there are some if’s and but’s from which we passing
through. But at last we become able to make an advanced
system that fullfils the requirements of any library .

INFORMATION GATHERING:

As the requirements of the project the vast information has


been collected from various sources. The first source of our
required information is provided by Bank [Link]
14
Second Source of Information we get are our Experienced
teachers and other colleague of our institute. There are some
other sources like reference books , magazines, and other
information sources.

SYSTEM ANALYSIS:

As we know system analysis is the backbone of any successful


project and we are also making special efforts while analyzing
our library project we analyze each and every aspect of our
project. This helps to understand it deeply and also helps to
find some new dimensions.

SYSTEM DESIGN:

The most creative and challenging phase of the System Life


Cycle is System Design. The term design describes a final
system and the process by which it is developed. It refers to the
technical specification that will be applied in implementing the
candidate system. It also includes the construction of programs
and program testing. The first step is to determine how the
output is to be produced and in what format. Second, input
data and master files have to be design to meet the
requirements of the proposed output.

15
IMPLEMENTATION:

The implementation phase is less creative than system design.


It is primarily concerned with user training, site preparation, and
file conversion. When the candidate system is linked to
terminals or remote sites, the telecommunication network and
tests of the network along with the system are also included
under implementation.

TESTING:

Testing is vital to the success of the system. System testing


makes a logical assumption that if all the parts of the system
are correct, the goal will be successfully achieved. Inadequate
testing or non- testing leads to errors that may not appear until
months later. Effective testing early in the process translates
directly into long term cost savings from a reduced number of
errors.
MAINTENANCE:

After making lot of efforts, at last the system developed here


has been implemented in bank. But the work has not been
completed yet. The maintenance is required to make it fully
appreciable by the user. Maintenance is “maintain the system
and avoid the unnecessary interference to make it worse”. So
we are also going to maintain the system for avoiding future
damage. The maintenance includes routine backup, delete
unnecessary files and also look after the problem arise during
its working.

16
Hardware & software requirements

Hardware Requirements:

Processor : Pentium 4
Memory : 128 MB
Hard Disk : 20 GB or higher
Monitor : Color Monitor
Mouse : Optical Mouse
Keyboard : Standard Keyboard 104 Keys

Software Requirements:
Operating system: MS-Windows 95,98, XP 2000
Server, Me.
Language : Turbo C++

17
DFD SYMBOL

SYMBOL DESCRIPTION

Square defines source or destination of


data.
Arrow identifies data flow or data diagram.
It is a pipeline through which information
flow.
Circle represents a process that transforms
incoming data flow into outgoing data flow.

Open rectangle is data store data at rest or


temporary of data.

DFD describe what data flow rather than how they are
processed, so it does not depend on the hardware, software,
data structure or file organization. The key question that we
trying to answer are: what major transformations must occur for
input to be correctly transformed into output?

18
Flow Chart For Transaction

19
CONTEXT DIAGRAM

FLOW CHART FOR SEE THE ACCOUNT

20
21
CODING

//**********************************************************
// PROJECT BANKING

//**********************************************************

//**********************************************************
//
//**********************************************************

#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>

22
//**********************************************************
// THIS CLASS CONTAINS FUNCTIONS RELATED TO DRAW
BOX ETC.
//**********************************************************

class shape
{
public :
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) ;

23
void help(void) ;
private :
void edit_menu(void) ;
};

//**********************************************************
// 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) ;

24
char *return_address(int) ;
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 name[30], address[60] ;
float balance ;
};

//**********************************************************
// THIS CLASS CONTAINS FUNCTIONS RELATED TO
TRANSACTIONS
//**********************************************************

class account
{
public :

25
void new_account(void) ;
void close_account(void) ;
void display_account(void) ;
void transaction(void) ;
void clear(int,int) ;
private :
void add_to_file(int, int, int, int, char, char
t_type[10], float, float, float) ;
void delete_account(int) ;
int no_of_days(int, int, int, int, int, int) ;
float calculate_interest(int, float) ;
void display(int) ;
void box_for_display(int) ;

int accno ;
char type[10] ; // Cheque or Cash //
int dd, mm, yy ; // Date //
char tran ; // Deposit or Withdraw //
float interest, amount, balance ;
};

26
//**********************************************************
// 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 ;
}
}

//**********************************************************
// FUNCTION TO DRAW VERTICAL LINE
//**********************************************************

void shape :: line_ver(int row1, int row2, int column, char c)


{
for ( row1; row1<=row2; row1++ )
{
gotoxy(column,row1) ;

27
cout <<c ;
}
}

//**********************************************************
// 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 ;

28
}
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-- ;

29
column2++ ;
row1++ ;
row2-- ;
line_ver(row1,row2,column1,l2) ;
line_ver(row1,row2,column2,l2) ;
}

//**********************************************************
// FUNCTION TO DISPLAY MAIN MENU AND CALL OTHER
FUNCTIONS
//**********************************************************

void control :: main_menu(void)


{
char ch ;
while (1)
{
clrscr();
shape s;

[Link](10,5,71,21,219);
[Link](9,4,72,22,218);

30
textcolor(BLACK);
textbackground(YELLOW);
gotoxy(32,21);cprintf(" ");
gotoxy(32,25);cprintf(" ");
textcolor(CYAN);
textbackground(BLUE);
gotoxy(32,7);
cprintf(" B A N K I N G ");
gotoxy(35,9);
cprintf(" OPTIONS ");
textcolor(YELLOW) ;
textbackground(BLACK);
gotoxy(30,11);
cout <<"1: SEE ACCOUNT";
gotoxy(30,12);
cout <<"2: LIST OF ACCOUNTS";
gotoxy(30,13);
cout <<"3: TRANSACTIONS";
gotoxy(30,14);
cout <<"4: OPEN NEW ACCOUNT";
gotoxy(30,15);
cout <<"5: EDIT ACCOUNTS";

31
gotoxy(30,16);
cout <<"6: HELP";
gotoxy(30,17);
cout <<"0: QUIT";
gotoxy(30,19);
cout <<"Enter your choice: ";
ch = getche() ;
if (ch == 27)
break ;
else
if (ch == '1')
{
account a ;
a.display_account() ;
}
else
if (ch == '2')
{
initial ini ;
ini.display_list() ;
}
else
if (ch == '3')

32
{
account a ;
[Link]() ;
}
else
if (ch == '4')
{
account a ;
a.new_account() ;
}
else
if (ch == '5')
edit_menu() ;
else
if (ch == '6')
help() ;
else
if (ch == '0')
break ;
}
for (int i=25; i>=1; i--)
{
delay(40) ;

33
gotoxy(1,i) ; clreol() ;
}
}

//**********************************************************
// FUNCTION TO DISPLAY EDIT MENU AND CALL OTHER
FUNCTIONS
//**********************************************************

void control :: edit_menu(void)


{
char ch ;
while (1)
{
clrscr() ;
shape s ;
[Link](10,5,71,21,219) ;
[Link](9,4,72,22,218) ;
textcolor(RED) ;
textbackground(BLUE) ;
gotoxy(34,10) ;
cprintf(" EDIT MENU ") ;

34
textcolor(YELLOW) ;
textbackground(BLACK) ;
gotoxy(31,12) ;
cout <<"1: MODIFY ACCOUNT" ;
gotoxy(31,13) ;
cout <<"2: CLOSE ACCOUNT" ;
gotoxy(31,14) ;
cout <<"0: QUIT" ;
gotoxy(31,16) ;
cout <<"Enter your choice: " ;
ch = getche() ;
if (ch == 27)
break ;
else
if (ch == '1')
{
initial ini ;
[Link]() ;
break ;
}
else
if (ch == '2')
{

35
account a ;
a.close_account() ;
break ;
}
else
if (ch == '0')
break ;
}
}

//**********************************************************
// FUNCTION TO DISPLAY HELP ABOUT PROJECT
//**********************************************************

void control :: help(void)


{
clrscr() ;
textcolor(RED+BLINK) ;textbackground(GREEN);
gotoxy(18,2); cprintf(" P R O J E C T B A N K I N G OF
P U N J A B ") ;
textcolor(BLACK);
gotoxy(18,4);

36
cprintf(" ");
delay(10) ;
gotoxy(10,6);
cout <<"In this Project you can keep records of daily
banking" ;
delay(10) ;
gotoxy(10,7);
cout <<"transactions." ;
delay(10) ;
gotoxy(10,9); cout <<" This program is capable of
holding any no. of accounts." ;
delay(10) ;
gotoxy(10,11); cout <<"- In the first option you can see the
account of a particular" ;
delay(10) ;
gotoxy(10,12); cout <<" person by giving simply the
account no. of that person." ;
delay(10) ;
gotoxy(10,14); cout <<"- In second option you can see the
list of all the accounts." ;
delay(10) ;
gotoxy(10,16); cout <<"- Through third option you can
operate banking transactions" ;

37
delay(10) ;
gotoxy(10,17); cout <<" (Deposit/Withdraw)." ;
delay(10) ;
gotoxy(10,19); cout <<"- In Fourth option you can open
new account." ;
delay(10) ;
gotoxy(10,20);
cout <<" (NOTE: Opening amount should not be less than
Rs.500/-)" ;
delay(10) ;
gotoxy(10,22);
cout <<"- In Fifth option you can modify or Delete any of the
accounts." ;
delay(10) ;
gotoxy(10,24); cout <<"- And the last option is to Quit the
PROJECT (Exit to Dos). " ;
delay(10) ;
textcolor(MAGENTA+BLINK) ;
textbackground(LIGHTGREEN) ;
gotoxy(26,30) ; cprintf(" Press any key to continue ") ;
textcolor(YELLOW) ; textbackground(BLACK) ;
gotoxy(25,2) ;
getch() ;

38
for (int i=25; i>=1; i--)
{
delay(50) ;
gotoxy(1,i) ; clreol() ;
}
}

//**********************************************************
// THIS FUNCTION RETURN LAST ACCOUNT NO. IN THE
FILE
// [Link]
//**********************************************************

int initial :: last_accno(void)


{
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
int count=0 ;
while ([Link]((char *) this, sizeof(initial)))
count = accno ;

39
[Link]() ;
return count ;
}

//**********************************************************
// THIS FUNCTION RETURN RECORD NO. OF THE GIVEN
ACCOUNT NO.
// IN THE FILE [Link]
//**********************************************************

int initial :: recordno(int t_accno)


{
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
int count=0 ;
while ([Link]((char *) this, sizeof(initial)))
{
count++ ;
if (t_accno == accno)
break ;
}

40
[Link]() ;
return count ;
}

//**********************************************************
// THIS FUNCTION DISPLAY THE ACCOUNT FOR GIVEN
ACCOUNT NO.
// FROM THE FILE [Link]
//**********************************************************

void initial :: display(int t_accno)


{
shape s ;
[Link](8,7,73,11,219) ;
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
while ([Link]((char *) this, sizeof(initial)))
{
if (t_accno == accno)
{
gotoxy(8,5) ;

41
cout <<"ACCOUNT NO. " <<accno ;
gotoxy(10,8) ;
cout <<"Name : "<<name ;
gotoxy(10,9) ;
cout <<"Address : " <<address ;
gotoxy(10,10) ;
cout <<"Balance : " <<balance ;
break ;
}
}
[Link]() ;
}

//**********************************************************
// THIS FUNCTION RETURN NAME FOR THE GIVEN
ACCOUNT NO.
// IN THE FILE [Link]
//**********************************************************

char *initial :: return_name(int t_accno)


{
fstream file ;

42
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
char t_name[30] ;
while ([Link]((char *) this, sizeof(initial)))
{
if (accno == t_accno)
{
strcpy(t_name,name) ;
break ;
}
}
[Link]() ;
return t_name ;
}

//**********************************************************
// THIS FUNCTION RETURN ADDRESS FOR THE GIVEN
ACCOUNT NO.
// IN THE FILE [Link]
//**********************************************************

char *initial :: return_address(int t_accno)

43
{
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
char t_address[60] ;
while ([Link]((char *) this, sizeof(initial)))
{
if (accno == t_accno)
{
strcpy(t_address,address) ;
break ;
}
}
[Link]() ;
return t_address ;
}

//**********************************************************
// THIS FUNCTION RETURN BALANCE FOR THE GIVEN
ACCOUNT NO.
// IN THE FILE [Link]
//**********************************************************

44
float initial :: give_balance(int t_accno)
{
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
float t_balance ;
while ([Link]((char *) this, sizeof(initial)))
{
if (accno == t_accno)
{
t_balance = balance ;
break ;
}
}
[Link]() ;
return t_balance ;
}

//**********************************************************
// THIS FUNCTION RETURN 1 IF THE GIVEN ACCOUNT NO.
FOUND

45
// IN THE FILE [Link]
//**********************************************************

int initial :: found_account(int t_accno)


{
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
int found=0 ;
while ([Link]((char *) this, sizeof(initial)))
{
if (accno == t_accno)
{
found = 1 ;
break ;
}
}
[Link]() ;
return found ;
}

//**********************************************************

46
// THIS FUNCTION DRAWS THE BOX FOR THE LIST OF
ACCOUNTS
//**********************************************************

void initial :: box_for_list()


{
shape s ;
[Link](2,1,79,25,218) ;
s.line_hor(3,78,3,196) ;
s.line_hor(3,78,5,196) ;
s.line_hor(3,78,23,196) ;
textbackground(WHITE) ;
gotoxy(3,4) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLACK) ;
textcolor(RED) ; textbackground(WHITE) ;
gotoxy(4,4) ;
cprintf("ACCOUNT NO. NAME OF PERSON
BALANCE") ;
textcolor(YELLOW) ; textbackground(BLACK) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);

47
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(4,2) ;
cout <<"Date: " <<d1 <<"/" <<m1 <<"/" <<y1 ;
}

//**********************************************************
// THIS FUNCTION DISPLAYS THE LIST OF ACCOUNTS IN
FILE
// [Link]
//**********************************************************

void initial :: display_list(void)


{
clrscr() ;
box_for_list() ;
int row=6, flag ;
fstream file ;
[Link]("[Link]", ios::in) ;
while ([Link]((char *) this, sizeof(initial)))
{

48
flag = 0 ;
delay(10) ;
gotoxy(7,row) ;
cout <<accno ;
gotoxy(25,row) ;
cout <<name ;
gotoxy(57,row) ;
cout <<balance ;
row++ ;
if (row == 23)
{
flag = 1 ;
row = 6 ;
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
getch() ;
clrscr() ;
box_for_list() ;
}
}
[Link]() ;
if (!flag)
{

49
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
getch() ;
}
}

//**********************************************************
// THIS FUNCTION ADDS THE GIVEN DATA INTO THE FILE
// [Link]
//**********************************************************

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 ;
[Link]("[Link]", ios::out | ios::app) ;
[Link]((char *) this, sizeof(initial)) ;
[Link]() ;

50
}

//**********************************************************
// THIS FUNCTION DELETES RECORD FOR THE GIVEN
ACOUNT NO.
// FROM THE FILE [Link]
//**********************************************************

void initial :: delete_account(int t_accno)


{
fstream file ;
[Link]("[Link]", ios::in) ;
fstream temp ;
[Link]("[Link]", ios::out) ;
[Link](0,ios::beg) ;
while ( ![Link]() )
{
[Link]((char *) this, sizeof(initial)) ;
if ( [Link]() )
break ;
if ( accno != t_accno )
[Link]((char *) this, sizeof(initial)) ;

51
}
[Link]() ;
[Link]() ;
[Link]("[Link]", ios::out) ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
while ( ![Link]() )
{
[Link]((char *) this, sizeof(initial)) ;
if ( [Link]() )
break ;
[Link]((char *) this, sizeof(initial)) ;
}
[Link]() ;
[Link]() ;
}

//**********************************************************
// THIS FUNCTION UPDATE BALANCE FOR THE GIVEN
ACOUNT NO.
// IN THE FILE [Link]
//**********************************************************

52
void initial :: update_balance(int t_accno, float t_balance)
{
int recno ;
recno = recordno(t_accno) ;
fstream file ;
[Link]("[Link]", ios::out | ios::ate) ;
balance = t_balance ;
int location ;
location = (recno-1) * sizeof(initial) ;
[Link](location) ;
[Link]((char *) this, sizeof(initial)) ;
[Link]() ;
}

//**********************************************************
// THIS FUNCTION MODIFIES THE RECORD FOR THE
GIVEN DATA
// IN THE FILE [Link]
//**********************************************************

53
void initial :: modify_account(int t_accno, char t_name[30], char
t_address[60])
{
int recno ;
recno = recordno(t_accno) ;
fstream file ;
[Link]("[Link]", ios::out | ios::ate) ;
strcpy(name,t_name) ;
strcpy(address,t_address) ;
int location ;
location = (recno-1) * sizeof(initial) ;
[Link](location) ;
[Link]((char *) this, sizeof(initial)) ;
[Link]() ;
}

//**********************************************************
// THIS FUNCTION GIVE THE DATA TO MODIFY THE
RECORD IN THE
// FILE [Link]
//**********************************************************

54
void initial :: modify(void)
{
clrscr() ;
char t_acc[10] ;
int t, t_accno ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
if (!found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;
}
shape s ;

55
[Link](2,2,79,24,218) ;
s.line_hor(3,78,4,196) ;
s.line_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
textbackground(BLUE) ;
gotoxy(3,3) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLACK) ;
textcolor(RED+BLINK) ; textbackground(BLUE) ;
gotoxy(30,3) ;
cprintf("MODIFY ACCOUNT SCREEN") ;
textcolor(YELLOW) ; textbackground(BLACK) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(62,5) ;
cout <<"Date: "<<d1 <<"/" <<m1 <<"/" <<y1 ;
char ch ;
display(t_accno) ;

56
account a ;
do
{
[Link](5,13) ;
gotoxy(5,13) ;
cout <<"Modify this account (y/n): " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
int modified=0, valid ;
char t_name[30], t_address[60] ;
gotoxy(5,15) ;
cout <<"Name :";
gotoxy(5,16) ;
cout <<"Address : " ;
do
{
[Link](15,15) ;
[Link](5,23) ;

57
gotoxy(5,23) ;
cout <<"ENTER NAME " ;
valid = 1 ;
gotoxy(15,15) ;
gets(t_name) ;
strupr(t_name) ;
if (t_name[0] == '0')
return ;
if (strlen(t_name) > 25)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7NAME SHOULD NOT GREATER
THAN 25") ;
getch() ;
}
} while (!valid) ;
if (strlen(t_name) > 0)
modified = 1 ;
do
{
[Link](15,16) ;
[Link](5,23) ;

58
gotoxy(5,23) ;
cout <<"ENTER ADDRESS " ;
valid = 1 ;
gotoxy(15,16) ;
gets(t_address) ;
strupr(t_address) ;
if (t_address[0] == '0')
return ;
if (strlen(t_address) > 55)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7SHOULD NOT BLANK OR GREATER
THAN 55") ;
getch() ;
}
} while (!valid) ;
if (strlen(t_address) > 0)
modified = 1 ;
if (!modified)
return ;
[Link](5,23) ;
do

59
{
[Link](5,18) ;
gotoxy(5,18) ;
cout <<"Do you want to save changes (y/n): " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
modify_account(t_accno,t_name,t_address) ;
gotoxy(5,21) ;
cout <<"\7Record Modified" ;
gotoxy(5,23) ;
cout <<"Press any key to continue..." ;
getch() ;
}

//**********************************************************
// THIS FUNCTION CLEAR THE GIVEN ROW AND
COLUMNS

60
//**********************************************************

void account :: clear(int col, int row)


{
for (int i=col; i<=78; i++)
{
gotoxy(i,row) ;
cout <<" " ;
}
}

//**********************************************************
// THIS FUNCTION ADDS THE GIVEN DATA INTO THE FILE
// [Link]
//**********************************************************

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 ;
[Link]("[Link]", ios::app) ;

61
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 ;
[Link]((char *) this, sizeof(account)) ;
[Link]() ;
}

//**********************************************************
// THIS FUNCTION DELETES THE RECORD FOR GIVIN
ACCOUNT NO.
// FROM FILE [Link]
//**********************************************************

void account :: delete_account(int t_accno)


{
fstream file ;

62
[Link]("[Link]", ios::in) ;
fstream temp ;
[Link]("[Link]", ios::out) ;
[Link](0,ios::beg) ;
while ( ![Link]() )
{
[Link]((char *) this, sizeof(account)) ;
if ( [Link]() )
break ;
if ( accno != t_accno )
[Link]((char *) this, sizeof(account)) ;
}
[Link]() ;
[Link]() ;
[Link]("[Link]", ios::out) ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
while ( ![Link]() )
{
[Link]((char *) this, sizeof(account)) ;
if ( [Link]() )
break ;
[Link]((char *) this, sizeof(account)) ;

63
}
[Link]() ;
[Link]() ;
}

//**********************************************************
// THIS FUNCTION ACCEPTS THE DATA TO ADD RECORDS
IN THE
// FILE [Link]
//**********************************************************

void account :: new_account(void)


{
char ch ;
int i, valid ;
clrscr() ;
initial ini ;
shape s ;
[Link](2,2,79,24,218) ;
s.line_hor(3,78,4,196) ;
s.line_hor(3,78,22,196) ;
gotoxy(71,1) ;

64
cout <<"<0>=Exit" ;
textbackground(BLUE) ;
gotoxy(3,3) ;
for (i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLACK) ;
textcolor(RED+BLINK) ; textbackground(BLUE) ;
gotoxy(32,3) ;
cprintf("OPEN NEW ACCOUNT") ;
textcolor(YELLOW) ; textbackground(BLACK) ;

int d1, m1, y1 ;


struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
int t_accno ;
t_accno = ini.last_accno() ;
t_accno++ ;
if (t_accno == 1)
{
ini.add_to_file(t_accno,"abc","xyz",1.1) ;
ini.delete_account(t_accno) ;

65
add_to_file(t_accno,1,1,1997,'D',"INITIAL",1.1,1.1,1.1) ;
delete_account(t_accno) ;
}
char t_name[30], t[10], t_address[60] ;
float t_bal=0.0, t_balance=0.0 ;

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) ;

66
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 BLANK OR
GREATER THAN 25") ;
getch() ;
}
} while (!valid) ;
do
{
clear(15,11) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER ADDRESS OF THE PERSON" ;

67
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 VERIFYING
PERSON" ;

68
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 ;

69
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() ;

70
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 [Link]

71
//**********************************************************

void account :: box_for_display(int t_accno)


{
shape s ;
[Link](2,1,79,25,218) ;
s.line_hor(3,78,4,196) ;
s.line_hor(3,78,6,196) ;
s.line_hor(3,78,23,196) ;
textbackground(BLUE) ;
gotoxy(3,5) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(RED) ; textbackground(BLUE) ;
gotoxy(4,5) ;
cprintf("DATE PARTICULAR DEPOSIT
WITHDRAW INTEREST BALANCE") ;
textcolor(YELLOW) ; textbackground(BLACK) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;

72
y1 = d.da_year ;
gotoxy(63,2) ;
cout <<"Date: " <<d1 <<"/" <<m1 <<"/" <<y1 ;
gotoxy(4,2) ;
cout <<"Account no. " <<t_accno ;
initial ini ;
char t_name[30] ;
strcpy(t_name,ini.return_name(t_accno)) ;
char t_address[60] ;
strcpy(t_address,ini.return_address(t_accno)) ;
gotoxy(25,2) ;
cout <<t_name ;
gotoxy(25,3) ;
cout <<t_address ;
}

//**********************************************************
// THIS FUNCTION DISPLAY RECORD FROM THE FILE
[Link]
//**********************************************************

void account :: display_account(void)

73
{
clrscr() ;
char t_acc[10] ;
int t, t_accno ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
initial ini ;
/* if (!ini.found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;
} */
box_for_display(t_accno) ;

74
int row=7, flag ;
fstream file ;
[Link]("[Link]", ios::in) ;
while ([Link]((char *) this, sizeof(account)))
{
if (accno == t_accno)
{
flag = 0 ;
delay(10) ;
gotoxy(4,row) ;
cout <<dd <<"/" <<mm <<"/" <<yy ;
gotoxy(16,row) ;
cout <<type ;
if (tran == 'D')
gotoxy(30,row) ;
else
gotoxy(42,row) ;
cout <<amount ;
gotoxy(56,row) ;
cout <<interest;
gotoxy(66,row) ;
cout <<balance ;
row++ ;

75
if (row == 23)
{
flag = 1 ;
row = 7 ;
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
getch() ;
clrscr() ;
box_for_display(t_accno) ;
}
}
}
[Link]() ;
if (!flag)
{
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
getch() ;
}

76
//**********************************************************
// 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 ;

77
y1++ ;
}
}
return days ;
}

//**********************************************************
// THIS FUNCTION CALCULATES INTEREST.
//**********************************************************

float account :: calculate_interest(int t_accno, float t_balance)


{
fstream file ;
[Link]("[Link]", ios::in) ;
[Link](0,ios::beg) ;
int d1, m1, y1, days ;
while ([Link]((char *) this, sizeof(account)))
{
if (accno == t_accno)
{
d1 = dd ;
m1 = mm ;

78
y1 = yy ;
break ;
}
}
int d2, m2, y2 ;
struct date d;
getdate(&d);
d2 = d.da_day ;
m2 = d.da_mon ;
y2 = d.da_year ;
float t_interest=0.0 ;
if ((y2<y1) || (y2==y1 && m2<m1) || (y2==y1 && m2==m1
&& d2<d1))
return t_interest ;
days = no_of_days(d1,m1,y1,d2,m2,y2) ;
int months=0 ;
if (days >= 30)
{
months = days/30 ;
t_interest = ((t_balance*2)/100) * months ;
}
[Link]() ;
return t_interest ;

79
}

//**********************************************************
// THIS FUNCTION MAKES TRANSACTIONS
(DEPOSIT/WITHDRAW).
//**********************************************************

void account :: transaction(void)


{
clrscr() ;
char t_acc[10] ;
int t, t_accno, valid ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;

80
initial ini ;
if (!ini.found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;
}
shape s ;
[Link](2,2,79,24,218) ;
s.line_hor(3,78,4,196) ;
s.line_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
textbackground(BLUE) ;
gotoxy(3,3) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLACK) ;
textcolor(RED+BLINK) ; textbackground(BLUE) ;
gotoxy(29,3) ;
cprintf("TRANSACTION IN ACCOUNT") ;
textcolor(YELLOW) ; textbackground(BLACK) ;
int d1, m1, y1 ;

81
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(5,6) ;
cout <<"Date : "<<d1 <<"/" <<m1 <<"/" <<y1 ;
gotoxy(5,8) ;
cout <<"Account no. # " <<t_accno ;
char t_name[30] ;
char t_address[60] ;
float t_balance ;
strcpy(t_name,ini.return_name(t_accno)) ;
strcpy(t_address,ini.return_address(t_accno)) ;
t_balance = ini.give_balance(t_accno) ;
[Link](25,10,75,13,218) ;
gotoxy(27,11) ;
cout <<"Name : " <<t_name ;
gotoxy(27,12) ;
cout <<"Address: " <<t_address ;
gotoxy(5,15) ;
cout <<"Last Balance : Rs." <<t_balance ;
char t_tran, t_type[10], tm[10] ;

82
float t_amount, t_amt ;
do
{
clear(5,18) ;
valid = 1 ;
gotoxy(5,18) ;
cout <<"Deposit or Withdraw (D/W) : " ;
t_tran = getche() ;
if (t_tran == '0')
return ;
t_tran = toupper(t_tran) ;
} while (t_tran != 'D' && t_tran != 'W') ;
do
{
clear(5,19) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER TRANSACTION BY CASH OR
CHEQUE" ;
valid = 1 ;
gotoxy(5,19) ;
cout <<"(Cash/Cheque) : " ;
gets(t_type) ;

83
strupr(t_type) ;
if (t_type[0] == '0')
return ;
if (strcmp(t_type,"CASH") &&
strcmp(t_type,"CHEQUE"))
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7ENTER CORRECTLY ")
;
getch() ;
}
} while (!valid) ;
do
{
clear(5,21) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER AMOUNT FOR TRANSACTION" ;
valid = 1 ;
gotoxy(5,21) ;
cout <<"Amount : Rs." ;
gets(tm) ;

84
t_amt = atof(tm) ;
t_amount = t_amt ;
if (tm[0] == '0')
return ;
if ((t_tran == 'W' && t_amount > t_balance) ||
(t_amount < 1))
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7INVALID DATA ENTERED
") ;
getch() ;
}
} while (!valid) ;
char ch ;
clear(5,23) ;
do
{
clear(40,20) ;
valid = 1 ;
gotoxy(40,20) ;
cout <<"Save transaction (y/n): " ;
ch = getche() ;

85
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
float t_interest ;
t_interest = calculate_interest(t_accno,t_balance) ;
if (t_tran == 'D')
t_balance = t_balance + t_amount + t_interest ;
else
t_balance = (t_balance - t_amount) + t_interest ;
ini.update_balance(t_accno,t_balance) ;

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).
//**********************************************************

86
void account :: close_account(void)
{
clrscr() ;
char t_acc[10] ;
int t, t_accno ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
initial ini ;
if (!ini.found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;

87
}
shape s ;
[Link](2,2,79,24,218) ;
s.line_hor(3,78,4,196) ;
s.line_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
textbackground(BLUE) ;
gotoxy(3,3) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLACK) ;
textcolor(RED+BLINK) ; textbackground(BLUE) ;
gotoxy(30,3) ;
cprintf("CLOSE ACCOUNT SCREEN") ;
textcolor(YELLOW) ; textbackground(BLACK) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(62,5) ;
cout <<"Date: "<<d1 <<"/" <<m1 <<"/" <<y1 ;

88
char ch ;
[Link](t_accno) ;
do
{
clear(5,15) ;
gotoxy(5,15) ;
cout <<"Close this account (y/n): " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
ini.delete_account(t_accno) ;
delete_account(t_accno) ;
gotoxy(5,20) ;
cout <<"\7Record Deleted" ;
gotoxy(5,23) ;
cout <<"Press any key to continue..." ;
getch() ;
}

89
//************************************************************
// THIS IS MAIN FUNCTION CALLING HELP AND MAIN
MENU FUNCTIONS
//************************************************************

void main(void)
{
control c ;
[Link]();
c.main_menu() ;
}

90
OUTPUT

91
92
93
94
95
Bibliography

Websites

 [Link]
 [Link]
 [Link]
 [Link]

Books

 C++ By [Link]

96
 C++ By Sukhdev Singh

97

You might also like