Вы находитесь на странице: 1из 129

National Institute of Electronics &

Information Technology
A Project Report
On

BANK MANAGEMENT SYSTEM

GUIDE NAME -RAHUL SINGH

STUDY CENTER: - NEET INSTITUTE OF TECHNOLOGY & MANAGEMENT

SUBMITTED BY: - DHEERENDRA KUMAR

REGISTRATION NUMBER: -1292009


ACKNOWLEDGEMENT

Now, when my project “BANK MANAGEMENT SYSTEM” has been


successfully completed I would like to thank all those people who made all this
possible.

First, I would like to thank Mr. Mohd. Ahsan, Director, Neet Institute of
Technology & Management Lucknow, for his relentless co–operation. I
acknowledgement my deepest gratitude for my guide, Mr. RAHUL SINGH for
his connoisseur guidance, limitless support, endless optimism and motivation
while carrying out this project work.

I express my heartfelt thanks to my friends for standing by me in all times


and all staff members of Neet Institute of Technology & Management
Lucknow for providing the necessary facilities and valuable data set to
accomplish the project work. I am deeply indebted in gratitude to my parents for
their faith in me throughout, for their inspiration and for being with me through
all troubles and tribulation. I also thank my sister for her support throughout the
processing of this assignment.

Last but not be least I thank all those who have helped me directly or indirectly
at various stages of this project.

SUBMITTED BY: - DHEERENDRA KUMAR


REGISTRATION NUMBER: -1292009
NEET INSTITUTE OF TECHNOLOGY & MANAGEMENT LUCKNOW
PROJECT CERTIFICATE FOR ‘O’ LEVEL CANDIDATE

This is to certify that the project work done at Neet Institute of Technology &
Management Lucknow by Mr. DHEERENDRA KUMAR (NIELIT
Registration No.:1292009) in partial fulfillment of ‘O’ Level Examination has
been found satisfactory.

This report had not been submitted for any examination and does not part of any
other course undergone by the candidate. It is further certified that he has
appeared in all the four modules.

____________ __________________

SIGNATURE OF GUIDE: SIGNATURE OF CENTER IN-CHARGE

NAME:

PLACE:
APPROVAL

I certify that this project "BANK MANAGEMENT SYSTEM" is the original


work of the above named candidate and has been done under my supervision.
To the best of my knowledge and belief, this work which completed, fulfils the
requirement of the ordinance relating to the final o level and is up to standard in
respect of content, presentation and language for being referred to the examiner

Project Advisor

Signed: ........................................... Date:....................................................


DECLARATION
I DHEERENDRA KUMAR, declare that the project report entitled "BANK
MANAGEMENT SYSTEM" submitted to Neet Institute of Technology &
Management Lucknow own work with suggestion received during work,
which have been suitably acknowledged.

Signed(................................................., Date...........................................
DHEERENDRA KUMAR
(Reg. No. 1292009)
TABLE OF CONTENTS

Introduction
Header files
Welcome to Bank
Main menu
New user
Activities
References
SYSTEM SPECIFICATION

HARDWARE REQUIREMENT

PROCESSOR Intel Pentium IV 2.4 GHZ OR ABOVE

CLOCK SPEED 500 MG

SYSTEM BUS 32 Bits

RAM 1 GB RAM

HDD 80 GB OR HIGHER

MONITOR LED MONITOR

KEYBOARD 108 KEYS

MOUSE 2 BUTTON MOUSE

SOFTWARE REQUIREMENT
Operating system : MS Windows 7
Browser : Internet Explorer 6.0, Google Chrome
IN THE PROGRAM
There are 3 accounts, when you deposit money in the account is should show
you the total amount in the account each time you add money to the account and
when you withdraw money it should take away the amount withdraw from the
balance that is in the account.

//the list of function prototypes

void Deposit();
void Withdraw();
void Query();
void Show();
void Exit();
char Menu();

-----------

Directions:

-----------

A bank updates t customers'' accounts at the end of each month. The bank offers
two types of accounts: savings and checking. Every customer must maintain a
minimum balance. If a customer's balance falls below the minimum balance,
there is a service charge of $10.00 for savings accounts and $25.00 for checking
accounts. If the balance at the end of the month is at least the minimum balance,
the account receives interest as follows:

a) Savings accounts receive 4% interest.

b) Checking accounts with balances up to Rs. 1,000 more than the minimum
balance receive 3% interest; otherwise, the interest is 5%.

The customer's account number (int type), account type (char; s for savings, c
for checking), and current balance are input from the keyboard.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 8


Output is the account number, account type, current balance (including any
interest earned), and the amount of interest earned, if any.

The interest will be calculated in a separate function. The balance and interest
rate are passed to the function. The function returns the interest earned.

The minimum account balance, for both checking and savings accounts, is
$1,000. This must be declared as a constant.

Three files must be submitted:

C++ source for the main function

C++ source for the interest function

The header file created for the external function

#include <iostream>

#include <fstream>

#include <iomanip>

// -------------------------------------------------

// ***** BANKING MANAGEMENT SYSTEM *****

// --------------------------------------------------

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 9


INTRODUCTION TO C

C was evolved from ALGOL, BCPL and B by Dennis Ritchie at the bell laboratories

in 1972. C uses many concepts from these languages and added the concept of data

types and other powerful features.

C is a powerful, flexible, portable and elegantly structured programming language.

The increasing popularity of c is probably due to its many desirable quantities. It is a

robust language whose rich set of built in functions and operators can be used to write

any complex of a high level language and therefore it is well suited for writing both

system software and business packages.

C is highly portable. This means that c programs written for one computer can be run

on another with little or no modification. Portability is important if we plan to use a

new computer with a different operating system.

C language is well suited for structured programming, thus requiring the user to think

of a problem in terms of function modules or blocks. A proper collection of these

modules would make a complete program. This modular structure makes program

debugging, testing and maintenance easier.

Another important feature of c is its ability to extend itself. A c program is basically a

collection of functions that are supported but the c library. We can continuously ad our

own functions to C library. With the availability of a large number of functions the

programming task becomes simple.

To assure that the C language remains standard, in 1983, American national standards

institute (ANSI) appointed a technical committee to define a standard for C. the

committee approved but the international standards organization (IDO) in 1990 which
Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 10
is now known as ANSI C .it was then approved but the international standards

organization (ISO) in 1990. This version of c is also referred to as C89.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 11


CONTROL STATEMENT

C language possesses such decision making capabilities by supporting the follow

statements:

 If statement

 Switch statement

 Conditional operator statement

These statements are popularly known as decision-making statements. Since these

statements ‘control’ the flow execution, they are known as control statements.

1. control statement

The if-statement is a powerful decision making statement and is used to control the

floexecution of statements. It is basically a two-way decision statement and is used in

conjunction with an expression. It takes the following form:

If(test expression)

It allows the computer to evaluate the expression first and then, depending on whether

the value expression (relation or condition) is ‘true’ (or non-zero) of ‘false’ (zero),it

transfers the control to a particular statement. This point of program has two paths to

follow, one for the true condition and the other for the false condition as shown below:

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 12


Entry

Test false
Expression

true

The if statement may be implemented in different forms depending on the complexity

of conditions to be tested.the different forms are:

 Simple if statement

 If……else statement

 Nested if………else statement

 Else if ladder.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 13


Switch statement:-

C has a built-in multiway decision statement known as a switch. The switch statement

tests the value of a given variable (or expression) against a list of case values and

when a match is found, a block of statements associated with that case is executed.

The general form of the switch statement is as shown below:

switch (expression)

case value-1:

block-1 break;

case value-2:

block-2 break;

………..

………. default:

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 14


The expression is an integer expression or characters.value-1,value-2…..are constants

or constant expressions (evaluable to an integral constant) and are known as case

labels. Each of these values should be unique within a switch statement. block-

1,block-2…..are Statement lists and may contain zero or more statements. There is no

need to put braces around these blocks. Note that case labels end with a colon(:).

2. Conditional operator statement:-

The c language has an unusual operator, useful for making two-way decisions.

This operator is a combination of? And takes three operands. This operator is

popularly known as the conditional operators. The general form of use of the

conditional operator is as follows: Conditional expression?

expression1:expression2

The conditional expression is evaluated first. if the result is nonzero,expression1 is

evaluated and is returned as the value of the conditional

expression.Otherwise,expression2 is evaluated and its value is returned.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 15


Function

Most languages allow you to create functions of some sort. Functions are used to break

up large programs into named sections. You have already been using a function which

is the main function. Functions are often used when the same piece of code has to run

multiple times.

In this case you can put this piece of code in a function and give that function a name.

When the piece of code is required you just have to call the function by its name. (So

you only have to type the piece of code once).

In the example below we declare a function with the name MyPrint. The only thing

that this function does is to print the sentence: Printing from a function. If we want to

use the function we just have to call MyPrint() and the printf statement will be

executed. (Don’t forget to put the round brackets behind the function name when you

call it or declare it).

Take a look at the example:

#include<stdio.h> void MyPrint()

printf("Printing from a function.\n");

int main()

MyPrint(); return 0;}

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 16


Parameters and return

Functions can accept parameters and can return a result. (C functions can accept an

unlimited number ofparameters).

here the functions are declared in your program does not matter, as long as a functions

name is known to thecompiler before it is called. In other words: when there are two

functions, i.e. functions A and B, and B mst call A, than A has to be declared in front

of B.

Let’s take a look at an example where a result is returned:

#include<stdio.h>

int Add(int output1,int output2 )

printf("%d", output1); printf("%d", output2); return output1 +

output2;

int main()

int answer, input1, input2;

scanf("%d", &input1); scanf("%d", &input2);

anwser = Add(input1,input2);

printf(" answer = %d\n", answer); return 0;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 17


The main() function starts with the declaration of three integers. Then the user can

input two whole numbers. These numbers are used as input of function Add(). Input1

is stored in output1 and output2 is stored in Second. The function Add() prints the two

numbers onto the screen and will return the result of output1 + output2. The return

value is stored in the integer answer. The number stored in answer is then printed onto

the screen.

Void

If you don’t want to return a result from a function, you can use void return type

instead of the int. So let’s take a look at an example of a function that will not return an

integer:

void our_site()

printf("www"); printf(".NextDawn"); printf(".nl");

Note: As you can see there is not an int before our_site() and there is not a return 0; in

the function. The function can be called by the following statement: our_site();

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 18


Global and local variables

A local variable is a variable that is declared inside a function. A global variable is a

variable that is declared outside all functions. A local variable can only be used in the

function where it is declared. A global variable can be used in all functions.

See the following example:

#include<stdio.h>

// Global variables int A;

int B;

int Add()

return A + B;

int main()

int answer; // Local variable A = 5;

B = 7;

answer = Add(); printf("%d\n",answer); return 0;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 19


As you can see two global variables are declared, A and B. These variables can be

used in main() and Add().

The local variable answer can only be used in main(). That’s all for this tutorial More

about function In this C programming language tutorial we will talk some more about

functions. We will take a look at command-line parameters and function prototypes.

Command-line parameters

In some cases you want to give a parameter at the start of a

program. For example:

# myprogram -i

The program myprogram will start and something extra will be done because of the

command-line parameter -i (What it will do is up to you, this is just an example).

Now let’s make a program that will print the words that are typed behind the program

at execution time. (Compile the program with the name

myprogram). Here is the example:

#include<stdio.h>

int main(int argc, char *argv[])

{ int x;

printf("%d\n",argc); for (x=0; x < argc; x++)


Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 20
printf("%s\n",argv[x]); return 0;

After compiling the program “myprogram” start it as follows:

# myprogram aa bb cc dd

In this code, the main program accepts two parameters, argc and argv. The argv

parameter is an array of pointers to a string that contains the parameters entered when

the program was invoked at the UNIX command line. (Pointers will be explained in a

later tutorial, for now it is enough to know that it points to an address in memory

where the parameters are stored). The argc integer contains a count of the number of

parameters. (In this case four).

First the program will print the number of parameters given when the program was

invoked (stored in argc). This number will be used in a “for loop”. In this case it will

print four times.

The second printf statement will print the parameters given when the program was

invoked, one by one. Try it! Command-line parameters can be used for many things.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 21


Function prototypes

A function prototype declares the function name, its parameters, and its return type to

the rest of the program. This is done before a function is declared. (In most cases at the

beginning of a program). To understand why function prototypes are useful, try the

following program:

#include<stdio.h> void main()

printf("%d\n",Add(3)); /* <- There is the error ! */

int Add(int a, int b)

return a + b;

Note: just one parameter when the function is called. (Not a typo).

The example above will be compiled on many of the compilers. They just give some

warning, because the function Add() needs two parameters as input, not one. The result

of this program cannot be foreseen. It works because many C compilers do not check

for parameters matching either in type or count. The result is that you will spend a lot

of time debugging programs, because you made a mistake of passing on to many or too

few parameters to a function.

To solve this problem you can make use of function prototypes. If you use prototypes,

C checks the types and count of the parameter list.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 22


Try the next example:

#include<stdio.h>

int Add (int,int); /* function prototype for Add */ void main()

printf("%d\n",add(3)); /* <- There is the error ! */

int Add(int a, int b)

return a + b;

When you try to compile this program, the compiler will flag an error on the printf

statement.

So in the future use function prototypes for every function you declare. It will save you

a lot of time!

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 23


Arrays and pointers

Array

An array can be defined as a group of homogeneous elements sharing a common name.

In many of the programming situations, we may require the processing of data items

that have common characteristics.now in such case, it would be easier if we place these

data items into one single variable called array which is capable of storting number of

data, sharing common name.

The individual data items can be characters, integers, and floating-point numbers and

so on they must all, however be of the same type and the same storage class. The

individual data items in an array are called array elements.

Each array element is referred to by specifying the array name followed by one or

more subscript enclosed in square brackets. Each subscript or index must be expressed

as non-negative integer.

Thus, we represent array containing elements as:

x[n] Where, x is array name N is subscript &

x[n] has its array element as x[0],x[1],x[2],………x[n-1].

The value of each subscript can be expressed as an integer constant,integer variable or

a more complex integer expression. The number of subscript determines the

dimensionality of the array.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 24


Pointers

A pointer is a derived data type in C. It is built from one of the fundamental data types

available in C. Pointers contain memory addresses as their values. Since these

memory addresses are the locations in the computer memory where program

instructions and data are stored, pointers can be used to access and manipulate

data stored in the memory.

Pointers are undoubtedly one of the most distinct and exciting features of c language.

It

has added power and flexibility to the language. Although they appear little confusing

and difficult to understand for a beginner, they are a powerful tool and handy to

use once they are mastered.

Pointer Declaration:-

Pointer variable like other variables must be declared before they may be used in a C

Program. The interpretation of pointer declaration differs, however from the

interpretation of other variable declarations. When a pointer variable is declared, the

variable name must be preceded by an asterisk (*). This identifies the fact that the

variable is a pointer.

A pointer declaration may be written in general terms as

Data-type *ptvar;

Where ptvar is the name of the pointer, and data-type refers to the data type of the

pointer’s object. Remember that an asterisk must precede ptvar.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 25


Passing pointer to a function:-

Pointer are often passed to a function as arguments. This allows data items within the

calling portion of the program to be accessed by the program in altered form. We refer

to this use of pointers as passing arguments by reference, in contrast to passing

arguments by value.

Arrays of pointers:-

One important use of pointers is in handling of a table of strings. Consider the

following array of strings:

char name [3][25];

This says that the name is a table containing three names, each with a maximum length

of 25 characters (including null character). The total storage requirements for the name

table are 75 bytes.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 26


We know that rarely the individual strings will be of equal lengths. Therefore, instead

of making each row a fixed number of characters, we can make it a pointer to a string

of varying length. For example,

char *name[3]={“New Zealand”,”Australia”,”Nepal”};

declares name to be an array of three pointers to characters, each pointer pointing to a

particular name as:

name[0] New Zealand

name[1] Australia

name[2] Nepal

This declaration allocates only 28 bytes, sufficient to hold all the characters as shown

N e w Z e a l a n d \0

A u s t r a l i a \0

The following statement would print out all the three names: for ( i=0; i<=2; i++)

printf(“%s\n”, name[i] );

to access he jth character in the ith name, we may write as

*(name[i]+j);

The character arrays with the rows of varying length are called ‘ragged arrays’ and are

better handled by pointers.

N e p a l \0

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 27


Structure

C is provided with a constructed data type known as structures, a mechanism for

packing data of different types. A structure is a convenient tool for handling a group of

logically related data items. For example, it can be used to represent a set of attributes,

such as student _ name, roll_ number and marks. The concept of a structure is

analogous to that of a ‘record’ in many other languages.

Structures help to organize complex data in a more meaningful way. It is a powerful

concept that we may often need to use in our program design. This chapter is devoted

to the study of structures and their applications in program development. In general,

the syntax for structure definition is: struct struct_name

data _ type mem1; data _ type mem2;

…………………………

………………………...

data _type memn;

};

The structure definition starts with keyword struct followed by an identifier or tag

name. The tag name is structure name and can e used for instantiating structure

variable. In above definition, struct

_name is referred to as structure name or structure tag name; and mem1, mem2, memn

are known as structure members or elements or fields. These members are enclosed

within braces and terminated by semicolon.

After the structure has been specified, the structure variable can be declared as

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 28


standard data type: struct struct_name var1, var2,………,varn;

The structure definition serves as a template for user defined data type. It does not

reserve memory unless a variable of structure data type is declared.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 29


Accessing Member of structures

In C programming language, the members of a structure are processed individually as

separate entities. We make use of period or dot “.” Operator to access the individual

members of structure.The syntax for accessing member of a structure variable is

follows:

struct _variable. member

Where struct _ variable refers to the name of a structure variable, and member refers to

the name of member within the structure. The dot (.) is an operator that separates the

variable name from the member name. We noticed that the dit operator must have

precedence among all operators and has left to right associatively. Consider the

following statement:

struct employee e1;

Now, each member of the structure variable e1 can be accessed using the dot operator

as follows: e1.emp_id

The employee’s employee IDnumer is accessed; e1.name

The employee’s name is accessed. e1.salaryThe employee’s salary is accessed.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 30


File Handling

The console function like printf() and scanf() have been used for input/output .This

scheme is adequate if the volume of data involved in not so large or it is not necessary

to store the information for further use. However, many applications may require a

large amount of data to be read, processed, and also saved for later use. Such

information is stored on the auxiliary memory device in the form of data file.And a file

is a collection of bytes that is given a name. In most computer systems, files are used

as a unit of storage primarily on floppy-disk or fixed-disk data storage system (or they

can be CDs or other storage device). Thus data files allow us to store information

permanently, and to access and alter that information whenever necessary.

The file handling function available in standard library in order to implement I/O

midel is classified as follows:

a) File access

b) Operation input/output

c) Formatted input/output

d) Character input/output

e) Direct input/output

f) File positioning

g) Error handling

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 31


The file access included the function like fopen() to open a file, fclose() to close a file

, fflush () to flush out the buffer associated with a file, and freopen() to change the file

associated with a stream. Also setvbuf() and setbuf() functions are use to allow the

users explicitly control the file buffering strategy.

The operation on file includes like remove() to remove a file, remname() to

rename a file

,tempfile() to create a temporary binary file and tmpnam() to generate a unique

filename.

Formatted input/output group includes the n functions fscanf(), scanf() and sscanf() to

read formatted data. Similarly fprintf() ,printf(), sprint(), vfprintf(), vprintf() and

vsprintf() to write formatted data.

The character input/output group includes the functions fgetc() ,getc() and getchar() to

read a character from an input stream and functions ungetc() to push back a character

to an input stream. The functions fgets() and gets() are to read strings and the output

functions fputc(),putc(), putchar(), fputs() and puts() are also included in this group.

The direct input/output group includes functions fread() to read and fwrite() to write a

certain number of data items specified size.

File positioning group includes functions fread() to read and fwrite() to write a certain

number if data items specified size.

File positioning group includes functions to set the file positon to some specified value

to allow access to a specific portion of the seek(),interrogate the current file position

ftell(),and reset the file position to the beginning of the file rewind().

Error handling group include functions to test whether EOF returned by a function

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 32


indicates an end-of-file or an error (feof and ferror), clear end-of-file and indicators

clearer, and map the error number errno to an error message perror.

File Accessing:-

To work with file using any file handling library functions, C requires a pointer to

structure FILE defined in <stdio.h>.The declaration of file pointer is done as follows:

FILE *fptr;

This declaration creates a variable fptr, which is pointed to the FILE structure. The

pointer to the FILE structure is also called file pointer. The FILE structure describes

the current state of a file such as file status flag, file descriptor, file buffer etc.

There are also predefined file pointers such stdin, stdout, and stderr which refers to

standard input (normally keyboard), standard output (normally monitor) and standard

error (connected to screen for error handling).

The file access functions provide the facilities to open and close a file, flush out the file

buffer, change

the file content and control the file buffering strategy.

Before working with a file it should be opened first. To open a file and associate it

with a stream, we use fopen().Its prototype is shown here:

FILE *fopen(char *fname,char *mode);

The fopen() function, like all the file-system functions ,uses the header <stdio.h> .The

name of the file including the path is specified by fname and the mode specifies how

file is accessed. Both of these parameters are string. The string specifying the mode is

shown in following table.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 33


S.N Mode Meaning

1 "r" Open a text file for reading

2 "w" Create a text file for writing

3 "a" Append to a text file

4 "rb" Open a binary file for reading

5 "wb" Open a binary file for writing

6 "ab" Append to binary file

7 "r+" Open a text file for read/write

8 "w+" Create a text file for read/write

9 "a+" Append or creat a text file for read/write

10 "r+b" Open a binary file for read/write

11 "w+b" Create a binary file for read/write

12 "a+b" Append a binary file for read/write

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 34


Algorithm

Main function steps

1. Start with welcome screen

2. Get password from user

3. Check password. Is password correct

Yes:-goto step 4

No:-print wrong message and goto step 2

4. Display mainmenu as below

 1.add books

 2.delete books

 3.search books

 4.issue books

 5.view book list

 6.edit book’s record

 7.close application

5. Get choice from user

Choice:-1 call function addbook Choice:-2 call function deletebook Choice:-3 call

function searchbook Choice:-4 call function Issuebooks Choice:-5 call function

viewbook Choice:-6 call function editbooks Choice:-7 goto step 6

6.stop

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 35


Addbook function Steps

1. declare file pointer ‘fp’

2. display categories of book to be added

3. get option from user.Is user want to add books Yes:-goto step 3

No:-go back to main menu

4. Open file ‘fp’ to write

5. Assign the pointer to the end of the file to write

6. get data from user

7. write input data on a file

8. close file

9. print option to add another books

Yes:-goto step 1

No:-go back to main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 36


Deletebook function Steps

1. get book ID from user to delete

2. Declare file pointer ‘ft’ 3.open file ‘fp’ to read

4. Assign the pointer to the beginning of the file to be read 5.loop until ‘End of file’ is

not encountered read data from file. 6.Is user input book id= book Id on a file

Yes:- a. open ‘ft’ file and copy all data of ‘fp’ file in ‘ft’file except that data which we

want to delete

b. delete ‘fp’ file and rename ft file by ‘ fp’ file name and goto step 7 No:-print error

message and close file and go back to main menu

7. close file

8. print option to delete another book

Yes:-goto step1

No:-go back to main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 37


Searchbook function Steps

1. Display option for search

 1. Search by id

 2.Search by book name

2. Open the fie ‘fp’ to read

3. Assign the pointer to the beginning of the file to be read

4. If option is search by id

 Get book id from user

 Loop until ‘End of file’ is not encountered read data from file

 Is user input book id =book id on a file

Yes:- Display all information about that book id and goto step 6 No:- Print sorry

message and goto step 6

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 38


If option is search by book name

Get book name from user

Loop until ‘End of file’ is not encountered read data from file

Is user input book name=book name on a file

Yes:-display all information about that book and goto step 6 No:-print sorry message

and goto step 7

5. Close file

6. Display option to search another book

Yes:-goto step 1

No:- go back to main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 39


Issuebook function Steps

1. Display option as below

 1.Issue book

 2.View issued book

 3.Search issued book

 4.Remove issued book

2. Open ‘fs’ file

3. Assign the pointer to the beginning of the file to be read

4. Get choice from user Choice -1

a. Get book id from user

b. Loop until ‘End of file’ is not encountered read data from file

c. Is input book id=book id on a file

Yes:-get student name whom book has to issue No:-print sorry message and goto step

d. Write information of student and issued data on a file

e. Display option to issue another book Yes:-goto step a

No:-goto step 5

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 40


Choice-2

a. Loop until ‘End of file’ is not encountered read data from file

b. Display list of issued book with student name, issued date and

return date

c. Goto step 5 Choice-3

a. Get book id from user

b. Loop until ‘End of file’ is not encountered read data from file

c. Is user input book id =book id on a file

Yes:- Display student name whom book was issued No:- Print sorry message and goto

step d

d. Display option to search another issued book Yes:- goto step a

No:-goto step 5

Choice-4

a.declare the file pointer ‘fg’

b. get book Id from user to delete from issued list

c. Loop until ‘End of file’ is not encountered read data from file

d. Is user input book id= book Id on a file

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 41


Yes:- 1. open another ‘fg’ file and copy all data of ‘fs’ file in ‘fg’ file except that data

which we want to delete

2. delete ‘fs’ file and rename ‘fg’ file by ‘fs’ file name and goto step e

No:-print error message and goto step e e.print option to search another book

Yes:-goto step b No:-goto step 6

5. Close file

6. Go back to main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 42


Viewbook function Steps

1. Open ‘fs’ file

2. Assign the pointer to the beginning of the file to be read

3. Loop until ‘End of file’ is not encountered read data from file

4. Display list of all book with complete information

5. Show total number of books in library

6. Close file

7. Go back to main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 43


Editbook function Steps

1. Get book id to be edited from user

2. Open file ‘fs’

3. Assign the pointer to the beginning of the file to be read

4. Loop until ‘End of file ‘ is not encountered read data from file

5. Call function checkid. Is checkid=1 Yes:-goto step 6

No:-display sorry message and goto step 7

6. a.get new data from user of that book which to be edited b.Assign the pointer

to the current position

.Overwrite the new data on old data of that book and goto step 7 No:- Display sorry

message and goto step 7

7. Close file

8. Display option to edit another book Yes:-goto step 1

No:-goto step 8

9. Go back to main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 44


Checkid function Steps

1. Assign the pointer to the beginning of the file to be read

2. Loop until ‘End of file ‘is not encountered read data from file

3. If user input id=id on a file

Yes:-return value 1

No:-return value 0

This function check whether user input id already exit in a file or not.

Getdata function Steps

1. Print”Enter information below”

2. Get categories from user

3. Get book id

4. Call function checkid. Is checkid=0 Yes:-goto step6

No:-goto step 5

5. Get book name,book author name,quantity,price and rack no. where that book

located from user

6. Go back to main menu

This function get data from the user for all information of book.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 45


Password function Steps

1. Declare two string ‘pass’ and ‘ password=sharda’

2. Print “Enter the password”.

3. Until user entered the enter key get character for user

4. Store input character in string ‘pass’

5. Compare two string ‘pass’ and ‘password’ .Is both equal Yes:-goto step 6

No:-print error message and goto step 2

6. Print password match message

7. Goto main menu

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 46


Steps for Compiling and executing the Programs

A compiler is a software program that analyzes a program developed in a particular

computer language and then translates it into a form that is suitable for execution on a

particular computer system. Figure below shows the steps that are involved in entering,

compiling, and executing a computer program developed in the C programming

language and the typical Unix commands that would be entered from the command

line.

Step 1: The program that is to be compiled is first typed into a file on the computer

system. There are various conventions that are used for naming files, typically be

any name provided the last two characters are “.c” or file with extension .c. So, the file

name prog1.c might be a valid filename for a C program. A text editor is usually used

to enter the C program into a file. For example, vi is a popular text editor used on Unix

systems. The program that is entered into the file is known as the source program

because it represents the original form of the program expressed in the C language.

Step 2: After the source program has been entered into a file, then proceed to have it

compiled. The compilation process is initiated by typing a special command on the

system. When this command is entered, the name of the file that contains the source

program must also be specified. For example, under Unix, the command to initiate

program compilation is called cc. If we are using the popular GNU C compiler, the

command we use is gcc.

Typing the line


Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 47
gcc prog1.c or cc prog1.c

In the first step of the compilation process, the compiler examines each program

statement contained in the source program and checks it to ensure that it conforms to

the syntax and semantics of the language. If any mistakes are discovered by the

compiler during this phase, they are reported to the user and the compilation process

ends right there. The errors then have to be corrected in the source program (with the

use of an editor), and the compilation process must be restarted. Typical errors

reported during this phase of compilation might be due to an expression that has

unbalanced parentheses (syntactic error), or due to the use of a variable that is not

“defined” (semantic error).

Step 3: When all the syntactic and semantic errors have been removed from the

program, the compiler then proceeds to take each statement of the program and

translate it into a “lower” form that is equivalent to assembly language program needed

to perform the identical task.

Step 4: After the program has been translated the next step in the compilation process

is to translate the assembly language statements into actual machine instructions. The

assembler takes each assembly language statement and converts it into a binary format

known as object code, which is then written into another file on the system. This file

has the same name as the source file under Unix, with the last letter an “o” (for object)

instead of a “c”.

Step 5: After the program has been translated into object code, it is ready to be linked.

This process is once again performed automatically whenever the cc or gcc command

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 48


is issued under Unix. The purpose of the linking phase is to get the program into a final

form for execution on the computer.

If the program uses other programs that were previously processed by the compiler,

then during this phase the programs are linked together. Programs that are used from

the system’s program library are also searched and linked together with the object

program during this phase.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 49


The process of compiling and linking a program is often called building.

The final linked file, which is in an executable object code format, is stored in another

file on the system, ready to be run or executed. Under Unix, this file is called a.out by

default. Under Windows, the executable file usually has the same name as the source

file, with the c extension replaced by an exe extension.

Step 6: To subsequently execute the program, the command a.out has the effect of

loading the program called a.out into the computer’s memory and initiating its

execution.

When the program is executed, each of the statements of the program is sequentially

executed in turn. If the program requests any data from the user, known as input, the

program temporarily suspends its execution so that the input can be entered. Or, the

program might simply wait for an event, such as a mouse being clicked, to occur.

Results that are displayed by the program, known as output, appear in a window,

sometimes called the console. If the program does not produce the desired results, it is

necessary to go back and reanalyze the program’s logic. This is known as the

debugging phase, during which an attempt is made to remove all the known problems

or bugs from the program. To do this, it will most likely be necessary to make changes

to original source program.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 50


/* Simple program to add two numbers */

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 51


#include <stdio.h> int main (void)

int v1, v2, sum; //v1,v2,sum are variables and int is data type declared v1 = 150;

v2 = 25;

sum = v1 + v2;

printf ("The sum of %i and %i is= %i\n", v1, v2, sum); return 0;

Output:

The sum of 150 and 25 is=175

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 52


Character set

A character denotes any alphabet, digit or special symbol used to represent

information. Valid alphabets, numbers and special symbols allowed in C

are

The alphabets, numbers and special symbols when properly combined form constants,

variables and keywords.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 53


Identifiers

Identifiers are user defined word used to name of entities like variables, arrays,

functions, structures etc. Rules for naming identifiers are:

1) name should only consists of alphabets (both upper and lower case), digits

and underscore (_) sign.

2) first characters should be alphabet or underscore

3) name should not be a keyword

4) since C is a case sensitive, the upper case and lower case considered

differently,

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 54


5) for example code, Code, CODE etc. are different identifiers.

6) identifiers are generally given in some meaningful name such as value,

net_salary, age, data etc. An identifier name may be long, some

implementation recognizes only first eight characters, most recognize 31

characters. ANSI standard compiler recognize 31 characters. Some invalid

identifiers are 5cb, int, res#, avg no etc.

Keyword

There are certain words reserved for doing specific task, these words are known as

reserved word or keywords. These words are predefined and always written in lower

case or small letter. These keywords cann’t be used as a variable name as it assigned

with fixed meaning. Some examples are int, short, signed, unsigned, default,

volatile, float, long, double, break, continue, typedef, static, do, for, union, return,

while, do, extern, register, enum, case, goto, struct, char, auto, const etc.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 55


data types

Data types refer to an extensive system used for declaring variables or functions of

different types before its use. The type of a variable determines how much space it

occupies in storage and how the bit pattern stored is interpreted. The value of a

variable can be changed any time.

C has the following 4 types of data types

basic built-in data types: int, float, double, char

Enumeration data type: enum

Derived data type: pointer, array, structure, union

Void data type: void

A variable declared to be of type int can be used to contain integral values only—that

is, values that do not contain decimal places. A variable declared to be of type float can

be used for storing floating- point numbers (values containing decimal places). The

double type is the same as type float, only with roughly twice the precision. The char

data type can be used to store a single character, such as the letter a, the digit character

6, or a semicolon similarly A variable declared char can only store character type

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 56


value.

There are two types of type qualifier in c

Size qualifier: short, long

Sign qualifier: signed, unsigned

When the qualifier unsigned is used the number is always positive, and when signed is

used number may be positive or negative. If the sign qualifier is not mentioned, then

by default sign qualifier is assumed. The range of values for signed data types is less

than that of unsigned data type. Because in signed type, the left most bit is used to

represent sign, while in unsigned type this bit is also used to represent the value. The

size and range of the different data types on a 16 bit machine is given below:

Basic data type Data type with type qualifier Size Range

(byte)

char char or signed char Unsigned1 -128 to 127

char 1 0 to 255

int int or signed int 2 -32768 to 32767

unsigned int 2 0 to 65535

short int or signed short int 1 -128 to 127

unsigned short int 1 0 to 255

long int or signed long int 4 -2147483648 to 2147483647

unsigned long int 4 0 to 4294967295

float float 4 -3.4E-38 to 3.4E+38

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 57


double double 8 1.7E-308 to 1.7E+308

Long double 10 3.4E-4932 to 1.1E+4932

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 58


Constants

Constant is a any value that cannot be changed during program execution. In C, any

number, single character, or character string is known as a constant. A constant is an

entity that doesn’t change whereas a variable is an entity that may change. For

example, the number 50 represents a constant integer value. The character string

"Programming in C is fun.\n" is an example of a constant character string. C constants

can be divided into two major categories:

Primary Constants Secondary Constants

These constants are further categorized as

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 59


Numeric constant Character constant String constant

Numeric constant: Numeric constant consists of digits. It required minimum size of 2

bytes and max 4 bytes. It may be positive or negative but by default sign is always

positive. No comma or space is allowed within the numeric constant and it must have

at least 1 digit. The allowable range for integer constants is -32768 to 32767. Truly

speaking the range of an Integer constant depends upon the compiler. For a 16-bit

compiler like Turbo C or Turbo C++ the range is –32768 to 32767.

For a 32-bit compiler the range would be even greater. Mean by a 16-bit or a 32- bit

compiler, what range of an Integer constant has to do with the type of compiler.

It is categorized a integer constant and real constant. An integer constants are whole

number which have no decimal point. Types of integer constants are:

Decimal constant: 0 9(base 10)

Octal constant: 0 7(base 8)

Hexa decimal constant: 0----9, A F(base 16)

In decimal constant first digit should not be zero unlike octal constant first digit must

be zero(as 076, 0127) and in hexadecimal constant first two digit should be 0x/ 0X

(such as 0x24, 0x87A). By default type of integer constant is integer but if the value of

integer constant is exceeds range then value represented by integer type is taken to be

unsigned integer or long integer. It can also be explicitly mention integer and unsigned

integer type by suffix l/L and u/U.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 60


Real constant is also called floating point constant. To construct real constant we must

follow the rule of ,

-real constant must have at least one digit.

-It must have a decimal point.

-It could be either positive or negative.

-Default sign is positive.

-No commas or blanks are allowed within a real constant. Ex.: +325.34 426.0

-32.76

To express small/large real constant exponent(scientific) form is used where number is

written in mantissa and exponent form separated by e/E. Exponent can be positive or

negative integer but mantissa can be real/integer type, for example 3.6*105=3.6e+5.

By default type of floating point constant is double, it can also be explicitly defined it

by suffix of f/F.

Character constant

Character constant represented as a single character enclosed within a single quote.

These can be single digit, single special symbol or white spaces such as ‘9’,’c’,’$’, ‘ ’

etc. Every character constant has a unique integer like value in machine’s character

code as if machine using ASCII (American standard code for information interchange).

Some numeric value associated with each upper and lower case alphabets and decimal

integers are as:

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 61


A Z ASCII value (65-90)

a z ASCII value (97-122)

0-------------9 ASCII value (48-59)

; ASCII value (59)

String constant

Set of characters are called string and when sequence of characters are enclosed within

a double quote (it may be combination of all kind of symbols) is a string constant.

String constant has zero, one or more than one character and at the end of the string

null character(\0) is automatically placed by compiler. Some examples are “,sarathina”

, “908”, “3”,” ”, “A” etc. In C although same characters are enclosed within single and

double quotes it represents different meaning such as “A” and ‘A’ are different

because first one is string attached with null character at the end but second one is

character constant with its corresponding ASCII value is 65.

Symbolic constant

Symbolic constant is a name that substitute for a sequence of characters and, characters

may be numeric, character or string constant. These constant are generally defined at

the beginning of the program as

#define name value , here name generally written in

upper case for example

#define MAX 10 #define CH ‘b’

#define NAME “sony”

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 62


Variables

Variable is a data name which is used to store some data value or symbolic names for

storing program

computations and results. The value of the variable can be change during the

execution. The rule for naming the variables is same as the naming identifier. Before

used in the program it must be declared. Declaration of variables specify its name,

data types and range of the value that variables can store depends upon its data

types.

Syntax: int a; char c; float f;

Variable initialization

When we assign any initial value to variable during the declaration, is called

initialization of variables. When variable is declared but contain undefined value then

it is called garbage value. The variable is initialized with the assignment operator such

as

Data type variable name=constant; Example: int a=20;

Or int a;

a=20;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 63


Expressions

An expression is a combination of variables, constants, operators and function call. It

can be arithmetic, logical and relational for example:-

int z= x+y // arithmatic expression a>b //relational

a==b // logical func(a, b) // function call

Expressions consisting entirely of constant values are called constant expressions. So,

the expression

121 + 17 - 110

is a constant expression because each of the terms of the expression is a constant value.

But if i were declared to be an integer variable, the expression

180 + 2 – j

would not represent a constant expression.

Operator

This is a symbol use to perform some operation on variables, operands or with the

constant. Some operator required 2 operand to perform operation or Some required

single operation.

Several operators are there those are, arithmetic operator, assignment, increment ,

decrement, logical, conditional, comma, size of , bitwise and others.

Arithmatic Operator

This operator used for numeric calculation. These are of either Unary arithmetic

operator, Binary arithmetic operator. Where Unary arithmetic operator required

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 64


only one operand such as +,-, ++, --,!, tiled. And these operators are addition,

subtraction, multiplication, division. Binary arithmetic operator on other hand required

two operand and its operators are +(addition), -(subtraction),

*(multiplication), /(division), %(modulus). But modulus cannot applied with floating

point operand as well as there are no exponent operator in c.

Unary (+) and Unary (-) is different from addition and subtraction.

When both the operand are integer then it is called integer arithmetic and the result is

always integer. When both the operand are floating point then it is called floating

arithmetic and when operand is of integer and floating point then it is called mix type

or mixed mode arithmetic . And the result is in float type.

1. Assignment Operator

A value can be stored in a variable with the use of assignment operator. The

assignment operator(=) is used in assignment statement and assignment expression.

Operand on the left hand side should be variable and the operand on the right hand side

should be variable or constant or any expression. When variable on the left hand side is

occur on the right hand side then we can avoid by writing the compound statement. For

example,

int x= y;

int Sum=x+y+z;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 65


Increment and Decrement

The Unary operator ++, --, is used as increment and decrement which acts upon single

operand. Increment operator increases the value of variable by one

.Similarly decrement operator decrease the value of the variable by one. And these

operator can only used with the variable, but cann't use with expression and constant as

++6 or ++(x+y+z).

It again categories into prefix post fix . In the prefix the value of the variable is

incremented 1st, then the new value is used, where as in postfix the operator is written

after the operand(such as m++,m--).

EXAMPLE

let y=12; z= ++y; y= y+1; z= y;

Similarly in the postfix increment and decrement operator is used in the operation .

And then increment and decrement is perform.

EXAMPLE

let x= 5; y= x++; y=x;

x= x+1;

Relational Operator

It is use to compared value of two expressions depending on their relation. Expression

that contain relational operator is called relational expression.

Here the value is assign according to true or false value. a.(a>=b) || (b>20)

b.(b>a) && (e>b)

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 66


c. 0(b!=7)

Conditional Operator

It sometimes called as ternary operator. Since it required three expressions as operand

and it is represented as (? , :).

SYNTAX

exp1 ? exp2 :exp3

Here exp1 is first evaluated. It is true then value return will be exp2 . If false then

exp3.

EXAMPLE

void main()

int a=10, b=2

int s= (a>b) ? a:b; printf(“value is:%d”);

Output:

Value is:10

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 67


Comma Operator

Comma operator is use to permit different expression to be appear in a situation where

only one expression would be used. All the expression are separator by comma and are

evaluated from left to right.

EXAMPLE

int i, j, k, l; for(i=1,j=2;i<=5;j<=10;i++;j++)

Sizeof Operator

Size of operator is a Unary operator, which gives size of operand in terms of byte that

occupied in the memory. An operand may be variable, constant or data type qualifier.

Generally it is used make portable program(program that can be run on different

machine) . It determines the length of entities, arrays and structures when their size are

not known to the programmer. It is also use to allocate size of memory dynamically

during execution of the program.

EXAMPLE

main( )

int sum; float f;

printf( "%d%d" ,size of(f), size of (sum) );

printf("%d%d", size of(235 L), size of(A));

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 68


Bitwise Operator

Bitwise operator permit programmer to access and manipulate of data at bit level.

Various bitwise operator enlisted are

one's complement (~)

bitwise AND (&)

bitwise OR (|)

bitwise XOR (^)

left shift (<<)

right shift (>>)

These operator can operate on integer and character value but not on float and double.

In bitwise operator the function showbits( ) function is used to display the binary

representation of any integer or character value.

In one's complement all 0 changes to 1 and all 1 changes to 0. In the bitwise OR its

value would obtaining by 0 to 2 bits.

As the bitwise OR operator is used to set on a particular bit in a number. Bitwise AND

the logical AND.

It operate on 2operands and operands are compared on bit by bit basic. And hence

both the operands are of same type.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 69


Logical or Boolean Operator

Operator used with one or more operand and return either value zero (for false) or one

(for true). The operand may be constant, variables or expressions. And the expression

that combines two or more expressions is termed as logical expression. C has three

logical operators :

Operator Meaning

&& AND

|| OR

! NOT

Where logical NOT is a unary operator and other two are binary operator. Logical

AND gives result true if both the conditions are true, otherwise result is false. And

logial OR gives result false if both the condition false, otherwise result is true.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 70


Precedence and associativity of operators

Operators Description Precedence level Associativity

() function call 1 left to right

[] array subscript

arrow operator

. dot operator

---------------------------------------------------------------------------------------------------

+ unary plus 2 right to left

- unary minus

++ increment

-- decrement

! logical not

~ 1’s complement

* indirection

& address

(data type) type cast

sizeof size in byte

* multiplication 3 left to right

/ division

% modulus

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 71


----------------------------------------------------------------------------------------------------

+ addition 4 left to right

- subtraction

----------------------------------------------------------------------------------------------------

<< left shift 5 left to right

>> right shift

----------------------------------------------------------------------------------------------------

<= less than equal to 6 left to right

>= greater than equal to

< less than

> greater than

----------------------------------------------------------------------------------------------------

== equal to 7 left to right

!= not equal to

----------------------------------------------------------------------------------------------------

& bitwise AND 8 left to right

----------------------------------------------------------------------------------------------------

^ bitwise XOR 9 left to right

---------------------------------------------------------------------------------------------------

| bitwise OR 10 left to right

&& logical AND 11

|| logical OR 12

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 72


?: conditional operator 13

----------------------------------------------------------------------------------------------------

=, *=, /=, %= assignment operator 14 right to left

&=, ^=, <<=

>>=

---------------------------------------------------------------------------------------------------

, comma operator 15

----------------------------------------------------------------------------------------------------

Control Statement
Generally C program statement is executed in a order in which they appear in the
program. But sometimes we use decision making condition for execution only a part
of program, that is called control statement. Control statement defined
how the control is transferred from one part to the other part of the program. There are
several control statement like if...else, switch, while, do. ..... while, for
loop,
break, continue, goto etc.

Loops in C

Loop:-it is a block of statement that performs set of instructions. In loops

Repeating particular portion of the program either a specified number of time or until
a particular no of condition is being satisfied.

There are three types of loops in c

1.While loop 2.do while loop 3.for loop While loop Syntax:-

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 73


while(condition)

Statement 1;

Statement 2;

}
Or while(test
condition)

Statement;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 74


The test condition may be any expression .when we want to do something a fixed no
of times but not known about the number of iteration, in a program then while loop is
used.

Here first condition is checked if, it is true body of the loop is executed else,
If condition is false control will be come out of loop.

Example:-

/* wap to print 5 times welcome to C” */

#include<stdio.h>

void main()

int p=1;

While(p<=5)

printf(“Welcome to C\n”);

P=p+1;

Output: Welcome to C

Welcome to C Welcome to C Welcome to C Welcome to C

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 75


So as long as condition remains true statements within the body of while loop will get
executed repeatedly.

do while loop
This (do while loop) statement is also used for looping. The body of this loop may
contain single statement or block of statement. The syntax for writing this statement
is:

Syntax:-

Do

Statement;

while(condition);

Example:- #include<stdio.h> void main()

int X=4; do

Printf(“%d”,X); X=X+1;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 76


}whie(X<=10);

Printf(“ ”);

Output: 4 5 6 7 8 9 10

Here firstly statement inside body is executed then condition is checked. If the
condition is true again body of loop is executed and this process continue
until the condition becomes false. Unlike while loop semicolon is placed at the end of
while.

There is minor difference between while and do while loop, while loop test the
condition before executing any of the statement of loop. Whereas do while loop test
condition after having executed the statement at least one within the loop.

If initial condition is false while loop would not executed it’s statement on other hand
do while loop executed it’s statement at least once even If condition fails for first
time. It means do while loop always executes at least once. Notes:

Do while loop used rarely when we want to execute a loop at least once.

for loop
In a program, for loop is generally used when number of iteration are known in
advance. The body of the loop can be single statement or multiple statements. Its
syntax for writing is:

Syntax:-

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 77


for(exp1;exp2;exp3)

Statement;

Or

for(initialized counter; test counter; update counter)

Statement;

Here exp1 is an initialization expression, exp2 is test expression or condition and


exp3 is an update expression. Expression 1 is executed only once when loop started
and used to initialize the loop variables. Condition expression generally uses
relational and logical operators. And updation part executed only when after body of
the loop is executed.

Example:- void main()

int i; for(i=1;i<10;i++)

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 78


Printf(“ %d ”, i);

Output:-1 2 3 456789

Nesting of loop
When a loop written inside the body of another loop then, it is known as nesting of
loop. Any type of loop can be nested in any type such as while, do while, for. For
example nesting of for loop can be represented as :

void main()

int i,j; for(i=0;i<2;i++) for(j=0;j<5; j++) printf(“%d %d”, i, j);

Output: i=0

j=0 1 2 3 4

i=1

j=0 1 2 3 4

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 79


Break statement(break)
Sometimes it becomes necessary to come out of the loop even before loop condition
becomes false then break statement is used. Break statement is used inside loop and
switch statements. It cause immediate exit from that loop in which it appears and it is
generally written with condition. It is written with the keyword as break. When break
statement is encountered loop is terminated and control is transferred to the statement,
immediately after loop or situation where we want to jump out of the loop instantly
without waiting to get back to conditional state.

When break is encountered inside any loop, control automatically passes to the first
statement after the loop. This break statement is usually associated with if statement.

Example :

void main()

int j=0; for(;j<6;j++) if(j==4) break;

Output:

0123

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 81


Continue statement (key word continue)
Continue statement is used for continuing next iteration of loop after skipping some
statement of loop. When it encountered control automatically passes through the
beginning of the loop. It is usually associated with the if statement. It is useful when
we want to continue the program without executing any part of the program.

The difference between break and continue is, when the break encountered loop is
terminated and it transfer to the next statement and when continue is encounter
control come back to the beginning position.

In while and do while loop after continue statement control transfer to the test
condition and then loop continue where as in, for loop after continue control
transferred to the updating expression and condition is tested.

Example:- void main()

int n;

for(n=2; n<=9; n++)

if(n==4) continue; printf(“%d”, n);

Printf(“out of loop”);

Output: 2 3 5 6 7 8 9 out of loop

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 82


if statement
Statement execute set of command like when condition is true and its syntax is

If (condition) Statement;

The statement is executed only when condition is true. If the if statement body is
consists of several statement then better to use pair of curly braces. Here in case
condition is false then compiler skip the line within the if block.

void main()

int n;

printf (“ enter a number:”); scanf(“%d”,&n);

If (n>10)

Printf(“ number is grater”);


}

Output:

Enter a number:12 Number is greater

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 83


if…..else ... Statement
it is bidirectional conditional control statement that contains one condition & two
possible action. Condition may be true or false, where non-zero value regarded as true
& zero value regarded as false. If condition are satisfy true, then a single or block of
statement executed otherwise another single or block of statement is executed.

Its syntax is:-

if (condition)

Statement1; Statement2;

else

Statement1; Statement2;

Else statement cannot be used without if or no multiple else statement are allowed
within one if statement. It means there must be a if statement with in an else
statement.

Example:-

/* To check a number is eve or odd */

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 84


void main()

int n;

printf (“enter a number:”); sacnf (“%d”, &n);

If (n%2==0)

printf (“even number”);


else

printf(“odd number”);
}

Output: enter a number:121 odd number

Nesting of if …else
When there are another if else statement in if-block or else-block, then it is called
nesting of if-else statement.

Syntax is :-

if (condition)

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 85


If (condition) Statement1;

else

statement2;

Statement3;

If….else LADDER
In this type of nesting there is an if else statement in every else part except the last
part. If condition is false control pass to block where condition is again checked with
its if statement.

Syntax is :-

if (condition) Statement1;

else if (condition) statement2;

else if (condition) statement3;

else

statement4;

This process continue until there is no if statement in the last block. if one of the
condition is satisfy the condition other nested “else if” would not executed.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 86


But it has disadvantage over if else statement that, in if else statement whenever the
condition is true, other condition are not checked. While in this case, all condition are
checked.

ARRAY
Array is the collection of similar data types or collection of similar entity stored in
contiguous memory location. Array of character is a string. Each data item of an array
is called an element. And each element is unique and located in separated memory
location. Each of elements of an array share a variable but each element having
different index no. known as subscript.

An array can be a single dimensional or multi-dimensional and number of subscripts


determines its dimension. And number of subscript is always starts with zero. One
dimensional array is known as vector and two dimensional arrays are known as
matrix.

ADVANTAGES: array variable can store more than one value at a time where other
variable can store one value at a time.

Example:

int arr[100];
int mark[100];

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 87


DECLARATION OF AN ARRAY :
Its syntax is :

Data type array name [size]; int arr[100];

int mark[100];

int a[5]={10,20,30,100,5}

The declaration of an array tells the compiler that, the data type, name of the array,
size of the array and for each element it occupies memory space. Like for int data
type, it occupies 2 bytes for each element and for float it occupies 4 byte for each
element etc. The size of the array operates the number of elements that can be stored
in an array and it may be a int constant or constant int expression.

We can represent individual array as : int ar[5];

ar[0], ar[1], ar[2], ar[3], ar[4];

Symbolic constant can also be used to specify the size of the array as: #define SIZE

10;

INITIALIZATION OF AN ARRAY:
After declaration element of local array has garbage value. If it is global or static
array then it will be automatically initialize with zero. An explicitly it can be initialize
that

Data type array name [size] = {value1, value2, value3…}

Example:

in ar[5]={20,60,90, 100,120}

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 88


Array subscript always start from zero which is known as lower bound and upper
value is known as upper bound and the last subscript value is one less than the size of
array. Subscript can be an expression i.e. integer value. It can be any integer, integer
constant, integer variable, integer expression or return value from functional call that
yield integer value.

So if i & j are not variable then the valid subscript are ar [i*7],ar[i*i],ar[i++],ar[3];

The array elements are standing in continuous memory locations and the amount of
storage required for hold the element depend in its size & type.

Total size in byte for 1D array is:


Total bytes=size of (data type) * size of array.

Example : if an array declared is: int [20];

Total byte= 2 * 20 =40 byte.

ACCESSING OF ARRAY ELEMENT:


/*Write a program to input values into an array and display them*/ #include<stdio.h>

int main()

int arr[5],i; for(i=0;i<5;i++)

printf(“enter a value for arr[%d] \n”,i); scanf(“%d”,&arr[i]);

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 89


printf(“the array elements are: \n”); for (i=0;i<5;i++)

printf(“%d\t”,arr[i]);

return 0;

} OUTPUT:

Enter a value for arr[0] = 12 Enter a value for arr[1] =45 Enter a value for arr[2] =59

Enter a value for arr[3] =98 Enter a value for arr[4] =21

The array elements are 12 45 59 98 21

Example: From the above example value stored in an array are and occupy its
memory addresses 2000, 2002, 2004, 2006, 2008 respectively.

a[0]=12, a[1]=45, a[2]=59, a[3]=98, a[4]=21

ar[0] ar[1] ar[2] ar[3]ar[4] 2000 2002

12 45 59 98 21
Example 2:
/* Write a program to add 10 array elements */ #include<stdio.h>

void main()

int i ;

int arr [10]; int sum=o;

for (i=0; i<=9; i++)

printf (“enter the %d element \n”, i+1); scanf (“%d”, &arr[i]);

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 90


for (i=0; i<=9; i++)

sum = sum + a[i];

printf (“the sum of 10 array elements is %d”, sum);

} OUTPUT:

Enter a value for arr[0] =5 Enter a value for arr[1] =10 Enter a value for arr[2] =15

Enter a value for arr[3] =20

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 91


Enter a value for arr[4] =25 Enter a value for arr[5] =30 Enter a value for arr[6] =35

Enter a value for arr[7] =40 Enter a value for arr[8] =45 Enter a value for arr[9] =50

Sum = 275

while initializing a single dimensional array, it is optional to specify the size of array.
If the size is omitted during initialization then the compiler assumes the size of array
equal to the number of initializers.

For example:-

int marks[]={99,78,50,45,67,89};

If during the initialization of the number the initializers is less then size of array, then
all the remaining elements of array are assigned value zero .

For example:-

int marks[5]={99,78};

Here the size of the array is 5 while there are only two initializers so After this
initialization, the value of the rest elements are automatically occupied by zeros such
as

Marks[0]=99 , Marks[1]=78 , Marks[2]=0, Marks[3]=0, Marks[4]=0 Again if we

initialize an array like

int array[100]={0};

Then the all the element of the array will be initialized to zero. If the number of
initializers is more than the size given in brackets then the compiler will show an
error.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 92


For example:-

int arr[5]={1,2,3,4,5,6,7,8};//error

we cannot copy all the elements of an array to another array by simply assigning it to
the other array like, by initializing or declaring as

int a[5] ={1,2,3,4,5};

int b[5]; b=a;//not valid

(note:-here we will have to copy all the elements of array one by one, using for loop.)

Single dimensional arrays and functions


/*program to pass array elements to a function*/ #include<stdio.h>

void main()

int arr[10],i;

printf(“enter the array elements\n”); for(i=0;i<10;i++)

scanf(“%d”,&arr[i]); check(arr[i]);

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 93


void check(int num)

if(num%2=0)

printf(”%d is even \n”,num);

else

printf(”%d is odd \n”,num);

Lecture Note: 12

Two dimensional arrays

Two dimensional array is known as matrix. The array declaration in both the array
i.e.in single dimensional array single subscript is used and in two dimensional array
two subscripts are is used.

Its syntax is

Data-type array name[row][column];

Or we can say 2-d array is a collection of 1-D array placed one below the other.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 94


Total no. of elements in 2-D array is calculated as row*column

Example:-

int a[2][3];

Total no of elements=row*column is 2*3 =6

It means the matrix consist of 2 rows and 3 columns For example:-

20 2 7

8 3 15

Positions of 2-D array elements in an array are as below

00 01 02
10 11 12

a [0][0] a [0][0] a [0][0] a [0][0] a [0][0] a [0][0]

20 2 7 8 3 15

2000 2002 2004 2006 2008

Accessing 2-d array /processing 2-d arrays


For processing 2-d array, we use two nested for loops. The outer for loop corresponds
to the row and the inner for loop corresponds to the column.

For example int a[4][5];

for reading value:-

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 95


for(i=0;i<4;i++)

for(j=0;j<5;j++)

scanf(“%d”,&a[i][j]);

For displaying value:- for(i=0;i<4;i++)

for(j=0;j<5;j++)

printf(“%d”,a[i][j]);

Initialization of 2-d array:


2-D array can be initialized in a way similar to that of 1-D array. for example:- int

mat[4][3]={11,12,13,14,15,16,17,18,19,20,21,22};

These values are assigned to the elements row wise, so the values of elements after
this initialization are

Mat[0][0]=11, Mat[1][0]=14, Mat[2][0]=17


Mat[3][0]=20

Mat[0][1]=12, Mat[1][1]=15, Mat[2][1]=18 Mat[3][1]=21

Mat[0][2]=13, Mat[1][2]=16, Mat[2][2]=19


Mat[3][2]=22

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 96


While initializing we can group the elements row wise using inner braces. for

example:-

int mat[4][3]={{11,12,13},{14,15,16},{17,18,19},{20,21,22}};

And while initializing , it is necessary to mention the 2nd dimension where 1st
dimension is optional.

int mat[][3];

int mat[2][3];

int mat[][];

int mat[2][]; invalid

If we initialize an array as

int mat[4][3]={{11},{12,13},{14,15,16},{17}};

Then the compiler will assume its all rest value as 0,which are not defined.

Mat[0][0]=11, Mat[1][0]=12, Mat[2][0]=14, Mat[3][0]=17

Mat[0][1]=0, Mat[1][1]=13, Mat[2][1]=15 Mat[3][1]=0

Mat[0][2]=0, Mat[1][2]=0, Mat[2][2]=16, Mat[3][2]=0

In memory map whether it is 1-D or 2-D, elements are stored in one contiguous
manner.

We can also give the size of the 2-D array by using symbolic constant Such as

#define ROW 2;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 97


#define COLUMN 3;

int mat[ROW][COLUMN];

String

Array of character is called a string. It is always terminated by the NULL character.


String is a one dimensional array of character.

We can initialize the string as char name[]={‘j’,’o’,’h’,’n’,’\o’};

Here each character occupies 1 byte of memory and last character is always NULL
character. Where ’\o’ and 0 (zero) are not same, where ASCII value of ‘\o’ is 0 and
ASCII value of 0 is 48. Array elements of character array are also stored in
contiguous memory allocation.

From the above we can represent as;

J o h N ‘\o’

The terminating NULL is important because it is only the way that the function that
work with string can know, where string end.

String can also be initialized as; char name[]=”John”;

Here the NULL character is not necessary and the compiler will assume it
automatically.

String constant (string literal)

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 98


A string constant is a set of character that enclosed within the double quotes and is
also called a literal. Whenever a string constant is written anywhere in a program it is
stored somewhere in a memory as an array of characters terminated by a NULL
character (‘\o’).

Example – “m”

“Tajmahal”

“My age is %d and height is %f\n”

The string constant itself becomes a pointer to the first character in array. Example-

char crr[20]=”Taj mahal”;

1000 1001 1002 1003 1004 1005 1006 1007 100 1009
T a j M A H a l \o
It is called base address.

String library function


There are several string library functions used to manipulate string and the prototypes
for these functions are in header file “string.h”. Several string functions are

strlen()

This function return the length of the string. i.e. the number of characters in the string
excluding the terminating NULL character.

It accepts a single argument which is pointer to the first character of the string.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 99


For example-

strlen(“suresh”);

It return the value 6.

In array version to calculate legnth:- int str(char str[])

int i=0; while(str[i]!=’\o’)

i++;

return i;

Example:- #include<stdio.h> #include<string.h> void main()

char str[50]; print(”Enter a string:”);

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 100
gets(str);

printf(“Length of the string is %d\n”,strlen(str));

Output:

Enter a string: C in Depth Length of the string is 8

strcmp()

This function is used to compare two strings. If the two string match, strcmp() return
a value 0 otherwise it return a non-zero value. It compare the strings character by
character and the comparison stops when the end of the string is reached or the
corresponding characters in the two string are not same.

strcmp(s1,s2) return a value:

<0 when s1<s2

=0 when s1=s2

>0 when s1>s2

The exact value returned in case of dissimilar strings is not defined. We only know
that if s1<s2 then a negative value will be returned and if s1>s2 then a positive value
will be returned.

For example:

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 101
/*String comparison… ........................................ */

#include<stdio.h> #include<string.h> void main()

char str1[10],str2[10]; printf(“Enter two strings:”); gets(str1);

gets(str2); if(strcmp(str1,str2)==0)

printf(“String are same\n”);

} printf(“String are not same\n”);

else

strcpy()

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 102
This function is used to copying one string to another string. The function
strcpy(str1,str2) copies str2 to str1 including the NULL character. Here str2 is the
source string and str1 is the destination string.

The old content of the destination string str1 are lost. The function returns a pointer to
destination string str1.

Example:-

#include<stdio.h> #include<string.h> void main()

char str1[10],str2[10]; printf(“Enter a string:”); scanf(“%s”,str2); strcpy(str1,str2);

printf(“First string:%s\t\tSecond string:%s\n”,str1,str2); strcpy(str,”Delhi”);

strcpy(str2,”Bangalore”);

printf(“First string :%s\t\tSecond string:%s”,str1,str2);

strcat()

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 103
This function is used to append a copy of a string at the end of the other string. If the
first string is “”Purva” and second string is “Belmont” then after using this function
the string becomes “PusvaBelmont”. The NULL character from str1 is moved and
str2 is added at the end of str1. The 2nd string str2 remains unaffected. A pointer to the
first string str1 is returned by the function.

Example:-

#include<stdio.h> #include<string.h> void main()

char str1[20],str[20]; printf(“Enter two strings:”); gets(str1);

gets(str2); strcat(str1,str2);

printf(“First string:%s\t second string:%s\n”,str1,str2); strcat(str1,”-one”);

printf(“Now first string is %s\n”,str1);

Output

Enter two strings: data Base

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 104
First string: database second string: database

` Now first string is: database-one

FUNCTION

A function is a self contained block of codes or sub programs with a set of statements
that perform some specific task or coherent task when it is called.

It is something like to hiring a person to do some specific task like, every six months
servicing a bike and hand over to it.

Any ‘C’ program contain at least one function i.e main(). There are basically two

types of function those are

1. Library function

2. User defined function


The user defined functions defined by the user according to its requirement

System defined function can’t be modified, it can only read and can be used. These
function are supplied with every C compiler

Source of these library function are pre complied and only object code get used by the
user by linking to the code by linker

Here in system defined function description:

Function definition : predefined, precompiled, stored in the library

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 105
Function declaration : In header file with or function prototype.

Function call : By the programmer

User defined function


Syntax:-

Return type name of function (type 1 arg 1, type2 arg2, type3 arg3)

Return type function name argument list of the above syntax

So when user gets his own function three thing he has to know, these are.

Function declaration Function definition Function call


These three things are represented like

int function(int, int, int); /*function declaration*/ main() /* calling

function*/

function(arg1,arg2,arg3);

int function(type 1 arg 1,type2 arg2,type3, arg3) /*function definition/*

Local variable declaration; Statement;

Return value;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 106
Function declaration:-
Function declaration is also known as function prototype. It inform the compiler
about three thing, those are name of the function, number and type of argument
received by the function and the type of value returned by the function.

While declaring the name of the argument is optional and the function prototype
always terminated by the semicolon.

Function definition:-
Function definition consists of the whole description and code of the function. It tells

about what function is doing what are its inputs and what are its out put It consists of

two parts function header and function body

Syntax:-

return type function(type 1 arg1, type2 arg2, type3 arg3) /*function header*/

Local variable declaration; Statement 1;

Statement 2; Return value

The return type denotes the type of the value that function will return and it is
optional and if it is omitted, it is assumed to be int by default. The body of the
function is the compound statements or block which consists of local variable
declaration statement and optional return statement.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 107
The local variable declared inside a function is local to that function only. It can’t be
used anywhere in the program and its existence is only within this function.

The arguments of the function definition are known as formal arguments.

Function Call
When the function get called by the calling function then that is called, function call.
The compiler execute these functions when the semicolon is followed by the function
name.

Example:- function(arg1,arg2,arg3);

The argument that are used inside the function call are called actual argument

Ex:-

int S=sum(a, b); //actual arguments

Actual argument
The arguments which are mentioned or used inside the function call is knows as
actual argument and these are the original values and copy of these are actually sent
to the called function

It can be written as constant, expression or any function call like Function (x);

Function (20, 30); Function (a*b, c*d); Function(2,3,sum(a, b));

Formal Arguments
The arguments which are mentioned in function definition are called formal
arguments or dummy arguments.

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 108
These arguments are used to just hold the copied of the values that are sent by the
calling function through the function call.

These arguments are like other local variables which are created when the function
call starts and destroyed when the function ends.

The basic difference between the formal argument and the actual argument are

1) The formal argument are declared inside the parenthesis


where as the local variable declared at the beginning of the function block.

2). The formal argument are automatically initialized when the copy of
actual arguments are passed while other local variable are assigned values
through the statements.
Order number and type of actual arguments in the function call should be match with
the order number and type of the formal arguments.

Return type

It is used to return value to the calling function. It can be used in two way as return

Or return(expression); Ex:- return (a);

return (a*b); return (a*b+c);

Here the 1st return statement used to terminate the function without returning any
value

Ex:- /*summation of two values*/ int sum (int a1, int a2);

main()

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 109
{

int a,b;

printf(“enter two no”); scanf(“%d%d”,&a,&b); int S=sum(a,b);

printf(“summation is = %d”,s);

int sum(intx1,int y1)

int z=x1+y1;

Return z;

Advantage of function

By using function large and difficult program can be divided in to sub programs and
solved. When we want to perform some task repeatedly or some code is to be used
more than once at different place in the program, then function avoids this repeatition
or rewritten over and over.

Due to reducing size, modular function it is easy to modify and test

Notes:-

C program is a collection of one or more function.

A function is get called when function is followed by the semicolon.

A function is defined when a function name followed by a pair of curly braces

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 110
Any function can be called by another function even main() can be called by other
function.

main()
{

function1()

function1()

Statement; function2;

function 2()

So every function in a program must be called directly or indirectly by the main()


function. A function can be called any number of times.

A function can call itself again and again and this process is called recursion.

A function can be called from other function but a function can’t be defined in
another function

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 111
OUTPUT SCREENSHOT

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 112
Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 113
Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 114
Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 115
SOURCE CODE
#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

// Structure declaration

struct acc_type

char bank_name[20];

char bank_branch[20];

char acc_holder_name[30];

int acc_number;

char acc_holder_address[100];

float available_balance;

};

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 116
struct acc_type account[20];

/*

printf("The above structure can be declared using

typedef like below");

typedef struct acc_type

char bank_name[20];

char bank_branch[20];

char acc_holder_name[30];

int acc_number;

char acc_holder_address[100];

float available_balance;

}Acc_detail;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 117
Acc_detail account[20];

*/

int num_acc;

void Create_new_account();

void Cash_Deposit();

void Cash_withdrawl();

void Account_information();

void Log_out();

void display_options();

/* main program */

int main()

char option;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 118
char f2f[50] = "http://fresh2refresh.com/";

num_acc=0;

while(1)

printf("\n***** Welcome to Bank Application *****\n");

printf("\nThis demo program is brought you by %s",f2f);

display_options();

printf("Please enter any options (1/2/3/4/5/6) ");

printf("to continue : ");

option = getch();

printf("%c \n", option);

switch(option)

case '1': Create_new_account();

break;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 119
case '2': Cash_Deposit();

break;

case '3': Cash_withdrawl();

break;

case '4': Account_information();

break;

case '5': return 0;

case '6': system("cls");

break;

default : system("cls");

printf("Please enter one of the options");

printf("(1/2/3/4/5/6) to continue \n ");

break;

return 0;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 120
}

/*Function to display available options in this application*/

void display_options()

printf("\n1. Create new account \n");

printf("2. Cash Deposit \n");

printf("3. Cash withdrawl \n");

printf("4. Account information \n");

printf("5. Log out \n");

printf("6. Clear the screen and display available ");

printf("options \n\n");

/* Function to create new account */

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 121
void Create_new_account()

char bank_name[20];

char bank_branch[20];

char acc_holder_name[30];

int acc_number;

char acc_holder_address[100];

float available_balance = 0;

fflush(stdin);

printf("\nEnter the bank name : ");

scanf("%s", &bank_name);

printf("\nEnter the bank branch : ");

scanf("%s", &bank_branch);

printf("\nEnter the account holder name : ");

scanf("%s", &acc_holder_name);

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 122
printf("\nEnter the account number(1 to 10): ");

scanf("%d", &acc_number);

printf("\nEnter the account holder address : ");

scanf("%s", &acc_holder_address);

strcpy(account[acc_number-1].bank_name,bank_name);

strcpy(account[acc_number-1].bank_branch,bank_branch);

strcpy(account[acc_number-1].acc_holder_name,

acc_holder_name);

account[acc_number-1].acc_number=acc_number;

strcpy(account[acc_number-1].acc_holder_address,

acc_holder_address);

account[acc_number-1].available_balance=available_balance;

printf("\nAccount has been created successfully \n\n");

printf("Bank name : %s \n" ,

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 123
account[acc_number-1].bank_name);

printf("Bank branch : %s \n" ,

account[acc_number-1].bank_branch);

printf("Account holder name : %s \n" ,

account[acc_number-1].acc_holder_name);

printf("Account number : %d \n" ,

account[acc_number-1].acc_number);

printf("Account holder address : %s \n" ,

account[acc_number-1].acc_holder_address);

printf("Available balance : %f \n" ,

account[acc_number-1].available_balance);

//num_acc++;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 124
// Displaying account informations

void Account_information()

register int num_acc = 0;

//if (!strcmp(customer,account[count].name))

while(strlen(account[num_acc].bank_name)>0)

printf("\nBank name : %s \n" ,

account[num_acc].bank_name);

printf("Bank branch : %s \n" ,

account[num_acc].bank_branch);

printf("Account holder name : %s \n" ,

account[num_acc].acc_holder_name);

printf("Account number : %d \n" ,

account[num_acc].acc_number);

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 125
printf("Account holder address : %s \n" ,

account[num_acc].acc_holder_address);

printf("Available balance : %f \n\n" ,

account[num_acc].available_balance);

num_acc++;

// Function to deposit amount in an account

void Cash_Deposit()

auto int acc_no;

float add_money;

printf("Enter account number you want to deposit money:");

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 126
scanf("%d",&acc_no);

printf("\nThe current balance for account %d is %f \n",

acc_no, account[acc_no-1].available_balance);

printf("\nEnter money you want to deposit : ");

scanf("%f",&add_money);

while (acc_no=account[acc_no-1].acc_number)

account[acc_no-1].available_balance=

account[acc_no-1].available_balance+add_money;

printf("\nThe New balance for account %d is %f \n",

acc_no, account[acc_no-1].available_balance);

break;

}acc_no++;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 127
// Function to withdraw amount from an account

void Cash_withdrawl()

auto int acc_no;

float withdraw_money;

printf("Enter account number you want to withdraw money:");

scanf("%d",&acc_no);

printf("\nThe current balance for account %d is %f \n",

acc_no, account[acc_no-1].available_balance);

printf("\nEnter money you want to withdraw from account ");

scanf("%f",&withdraw_money);

while (acc_no=account[acc_no-1].acc_number)

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 128
account[acc_no-1].available_balance=

account[acc_no-1].available_balance-withdraw_money;

printf("\nThe New balance for account %d is %f \n",

acc_no, account[acc_no-1].available_balance);

break;

}acc_no++;

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 129
References

E –Balagurusamy

Ashoke N Kamthane

www.planet-source-code.com/

www.codeproject.com/

Project Submitted by- Dheerendra Kumar, Reg. No.- 1292009 Page 130

Вам также может понравиться