Sei sulla pagina 1di 123

A Minor Project Report

ON

“LIC MANAGEMENT SYSTEM”


Submitted to

Guru Jambheswar University of science and Technology, Hisar

For the approval of degree of

MASTER OF COMPUTER APPLICATIONS

(5 YEARS INTEGRATED COURSE)

IN

DIRECTORATE OF DISTANCE EDUCATION

GURU JAMBHESHWAR UNIVERSITY OF SCIENCE & TECHNOLOGY

HISAR, HARYANA (INDIA)

UNDER THE SUPERVISION OF: SUBMITTED BY: Pawan kumar

Dinesh Kumar Sharma Enrollment NO 1303312706

1
CERTIFICATE

This is to certify that Mr Pawan Kumar Enrollment NO. 1303312706

has worked under my supervision to prepare his project report entitled

“LIC MMANAGEMENT” This work has not been submitted in part or

full to this or any other university for the award of any other degree or

diploma.

Signature of Supervisor

Name:

Designation: Sr.
Faculty

Organization/Institute:

Forwarded by Head, Study Centre (With signature, Name of Head and


Seal)

2
ACKNOWLEDGEMMT

I take this opportunity to express my sincere gratitude to Mr. Anil


Gupta who has been very kind and considerate by providing me with
an opportunity to work on this project.

(Pawan kumar)

Enroll:- 1303312706

3
DECLARATION

I hereby declare that the minor project work entitled "LIC


MANAGEMENT SYSTEM" submitted for the MCA (yrs.
course) is my original work carried out by me under the
guidance of Mr. Dinesh Sharma for the partial fulfillment of
the award of the degree of the Master of Computer Application.
The matter embodies in this report has not submitted anywhere
else for the award of any other degree/diploma.

Place:

Date:

Signature of the Candidate:

4
5
INDEX
• Acknowledgement …………………………........................... 3

• Declaration ………………………………………………………… 4

• Introduction ……………………………….................... 8

• Abstract ………………………………................... 9

• System Development Life Cycle ………..………………… 10

• System Analysis ………………………………………. 11

• OVERVIEW …………………………………………. 13

• ER Diagram …………………………………………… 17

• Converting ER Diagram into Tables ……………. ……… 25

• Normalisation …………………………………................. 28

• Data Flow Diagram ……………………………….................. 31

• Hardware and Software Used …………………………… 36

• Header Files Used ………………………………………..… 38

• Code ………………………………………….. 48

• Snapsho. ……………………………………………….. 106

• Implementation …………………………………………… 117

•System Maintenance ……………………………… ………. 119

Limitation …………………………………………. 121

• Conclusion …………………………………………………….. 122

6
INTRODUCTION
The project maintains records of all the customers regarding their
insurance policies premiums, and maturity amount in an insurance
company .Since with the rapid urbanization and changing needs of
the society, this has resulted in various kinds of insurance policies
and has made the insurance as a crucial Part of our lives. Eventually,
large numbers of customers are opting for various kinds of insurance.

The proposed system overcomes the limitation of the manually or no


computerized managing of the INSURANCE COMPANY .Thus, the
basic purpose of developing the software is for managing the
insurance company effective and efficiently. The whole system has
been divided into various modules as to make it modular.

7
ABSTRACT
The insurance company needs to keep track of details of its target
companies, agent, policyholders, their premium payments and the various
products that are available with it. Hence it is under tremendous pressure
maintaining their day-to-day activities which is currently being done
manually. Entire records have to be updated timely, even a slight mistake
could complicate things. It is very difficult to handle bulk data since
human memory is weaker than electronic counter part. It is time
consuming to summarize these details to produce the reports. The
Insurance management system is a complete solution for organizations,
which need to manage insurance for their vehicles, equipment, buildings,
and other resources. Organizes and tracks insurance vendors and the
policies provided under different coverage We are offering a robust web
based insurance solution, which has the flexibility of customizations to
match the specific needs of clients for achieving their business goal of
good service and revenue generation. Insurance policy administration
system consists of a mathematical notation that captures the relationship
between policies and objects and the entities that manage policies for
those objects. Hence there is need for an automated system, which can
efficiently manage the company, record., provides instant access and one
that improves the productivity. As a result of this automated system, the
activities of the company are performed in the stipulated time and the
reliable and efficient service is ensured to its users.

8
9
System Development Life Cycle

The structured sequence of operation required imaging developing and


Making operational a new information system it's a cycle because the
System will need replacement and Development, cycle will begin,

Phase of SDLC

1 System Analysis

2 System Design

3 Coding

4 System Testing

5 System Implementation

6 System Maintenance

10
11
PROBLAM FACE IN CURRENT SYSTEM

• ln the related to insurance system is in current system data maintained


by writing it on to various registers.

• Registers may lost or damage.

• Any unauthorized person can access confidential data.

•Any information cannot be easily e\searched.

• Each Agent and customer is assigned a unique code

• Whenever a new Agent or customer is added then librarian has to


search whether that code is previously existing or not.

• When a particular policy is to be modified for one or more fields the


user can be modified.

• There is time wastage in data accessing, data entry and while data
retrieving from the insurance register.

12
OVERVIEW OF THE PROJECT
SYSTEM DESCRIPTION:

The proposed system is for making easier to manage policy holder


details, agent details, policy d.ils, claimant details and payment d.ils.
So .11 be developed for managing the insurance management system.
The overall system is control through the main menu.

The main menu contains 6 parts.

1. Policy Schemes.

2. Agent Log n.

3. Customer Login.

4. Administrator Login.

5. About us.

6. Contact us.

POLICY SCHEMES:-

Various policy schemes are:-

1. LIFE INSURANCE:

a) Whole life policy

b) Term life policy

c) Endowment policy

d) Pension plans

2. GENERAL INSURANCE:-

a) Home insurance

b) Auto insurance

c) Fire insurance

13
AGENT LOGIN

a) Old Agent
b) New Agent

The Agent login form link to-

1. Basic agent information like contact details and addres. which will
be shown in customer insurance information window

2. All the information related to insurances which has made to his


clients.

3. Commi.ion received by him for each insurance made by him


respectively.

4. Option to create a new policy to any existing/new client.

5. Option to edit the contact information of its client.

6. Option to delete a policy of any client in case of policy lapse.

CUSTONIER LOGIN,

The form contains the agent information like-

1. Personal information required by insurance agency.

2. Next premium due of respective insurances by the client along


with maturity date, agent info etc

ADMINISTRATOR LOGIN,
Administrator has rights to.

1. Create new agent

2. Edit agent's information and its commission percentage.

3. Delete an agent's database and all its policies respectively.

14
ABOUT US:-
It contains information about the organization's history and its
achievements.

CONTACT US:-
It co.ins the contract details of the organization's various branches
located in different parts of a county.

REPORTS:
• Sales report

• Claimant information report

• Agent information report

• client information report

15
16
EXTENDED ER-DIAGRAM

Design a database for insurance company.Asume that following


are the requirements that were collected:

An insurance company has different policies.Policies have


pno,term_price and coverage.

Policies are categorized based on their types.

Policies for Mony back policy and Jeevan kishor policy ,Jeevan
Anandcome under life insurance policy has type and issue date.

Policies for house come under home policy.Home_policy has


pno,issue date and term_price.

Customers take policies policy through policy Agent. A customer


can take only one policy .

ENTITIES:

1) Home Policy

2) Jeevan Kishor

3) Mony Back Policy

4) Jeevan Kishor

5) Jeevan Anand

17
KEY ATTRIBUTES:
1)Policy: pno

2)policy_type : polno

3)Home_policy:policyno

4)Endowolpment :hno

5)Vehicle: vehicle_no

6)Customer: custid

OTHER ATTRIBUTES:

1)Policy:price,coverage.

2)customer_policy:type,issue_date

3)Home_policy:date,term_price

4)Agent :name

5) Policy holder

6)Customer:address,phno

18
19
CONVERTING ER DIAGRAM INTO TABLES

1. Converting strong entity types


• Each entity type becomes a table
• Each single valued attribute becomes a column
• Derived attributes are ignored
• Composite attributes are represented by components
• Multi-valued attributes are represented by a separate table
• Key attributes of the entity type is the Primary Key

20
1. Converting relationships
• Relationships are based on card inalities and degree of the
relation
• m:n

3. Relations converted

• Policy holder and policy have m:n cardinality which results in


conversion of the relation 'insured by into a table named as 'insurance,
The insurance table has ph, key and pol_key from policy holder table and
policy table respectively ,as its composite primary key.

• Also policy and agent table have m:n cardinality resulting in conversion
of relation 'sales, into a table named as 'sales'. The table sales has ph_key
and pol_key from policy holder table and policy table respectively ,as its
composite primary key and agent key from agent table as a foreign key.

21
22
TABLE STRUCTURES
The structure of all tables included in the project is as under:-

1. PH:

Name NULL: Type

NAME CHAR(15)

ADDRESS CHAR(15)

PHONE NUMBER ( 10)

PWD VAR.AR2(10)

DOB DATE

AGE NUMBER(2)

MS VARCHAR2(10)

SEX VARCHAR2(6)

SAL NUMBER(10)

23
2. AGENT
Name Null ? Type

NAME CHAR(20)
ADDRESS CHAR (32)
PHONE NUMBER(10)
"ID NOT NULL NUMBER(5)
PWD VARCHAR2(10)

3. INSURANCE

Name Null? Type

PREMIUM NUMBER (10)

AMOUNT NUMBER (1 0)

POLICY DURATION NUMBER (4) S

S P_HOLDER NOT NULL NUMBER (5)

S POLICY KEY NULL NUMBER (5)

IODATE DATE

24
4. SALES

Name Null? Type

AGENT KEY NUMBER (5)

COMMISSION NUMBER (10)

P_HOLDER NOT NULL NUMBER (5)

POUCY K. NOT NULL NUMBER())

5. POLICY

Name Null? Type

*POL_KEY NOT NULL NUMBER(3)

TYPE CHAR(32)

TIME_PER NUMBER(4)

25
6. CLAIMANT

Name Null? Type

NAME NOT NULL VARCHAR2(50)

ADDRESS NOT NULL VARCHAR2(50)

S P_HOLDER NOT NULL NUMBER(3)

S POLICYKEY NOT NULL NUNBER(3)

SEX CHAR(6)

DOB DATE

MS CHAR(10)

AGE NUMBER.

PHONE NUMBER(10)

VIEW STRUCTURES
Name Null? Type
P_HOLLDER NOT NULL NUMBER

TYPE CHAR(32)
POL_KEY NOT NULL NUMBER(3)

26
3. CLIENT
Name Null? Type

AGENT KEY NUNBER(5)

PH KEY NOT NULL NUM (5)

NAME CHAR(15)

ADDRESS CHAR(15)

PHONE NUMBER(1 0)

PREMIUM NUMBER(10)

AMOUNT NUMBER(10)

POLICY DURATION NUMBER(4)

TYPE CHAR(32)

IODATE DATE

27
NORMALISATION

Normalisation is a method for organizing data elements in


a database into tables. It keeps track to keep the database
less vulnerable to some types of logical inconsistencies
and anomalies.Tablescan be normalized to varying degrees
like first, second, BCNF. Greater the degree of
normalization more is the protected from inconsistencies
and anomalies.

28
The tables may be normalized under the following guideline:

1. 1NF

DFFINITION:

A relation schema is in INF if all of its attributes are:

• Single valued

• Restricted to assuming atomic values

• Functionally dependent on the primary key

Domain is atomic if its element are considered to be indivisible uni..


Examples of non-atomic domains

Set of names, composite attributes

• Identification numbers like ph_key that can be broken up into par.

• A relational schema R is in first normal form if the domains of all

attributes of R are atomic.

• All domains in our database are atomic since they are indivisible.

• No Duplication of data ,Insert Anomaly ,Delete Anomaly ,Update


Anomaly found, therefore our database clears the first normal form test

2. 2NF

DEFINITION:
A relational table is said to be in second normal form 2NF if it is in
INF and every non-key attribute is .1Iy functionally dependent upon
primary key.

The criteria for second normal form(2NF) are:

• The table must be in INF.

• Every non-key attributes of the table must be dependent upon the entire
primary key.

• Tables agent policy holder, claimant, insurance, sales are also in 2NF.

29
• our database satisfies all the conditions of 2NF since The tables are in
INF and Every non-key attributes of the table must be dependent upon the
entire primary key.

3.3NF

• A relation is in 3NF if and only if,it is in 2NF and there are no


transitive functional dependencies.

• Transitive functional dependencies arise.

• When one non-key attribute is functionally dependent on another non-


key attribute.

• Functional Dependency: non-key attribute>non-key attribute.

• When there is redundancy in the database.

• The tables insurance ,claimant Policy holder and sales have been
converted into 3NF.

By definition transitive functional dependency can only occur if there is


more than one non-key field, we can say that a relation in 2NF with zero
or one non-key field must automatically be in 3NF

30
Data Flow Diagram (DFD)

A Data Flow Diagram (DFD) is a diagrammatic representation of the


information flows within a system, showing:

 how information enters and leaves the system,


 what changes the information,
 where information is stored.

In SSADM a DFD model includes supporting documentation describing


the information shown in the diagram. DFDs are
used not only in structured system analysis and design, but also as a
general process modelling tool. There are a number
of commercial tools in the market today which are based on DFD
modelling.

SSADM uses DFDs in three stages of the development process:

 Current Physical DFDs. These record the results of conventional


fact finding.
 Current Logical DFDs. The logical information processing of the
current system
 Required Logical DFDs. The logical information processing
requirements of the proposed system.

The Notation

DFDs show the passage of data through the system by using 5 basic
constructs: Data flows, Processes, Data Stores,
External Entities, and Physical Resources.

Data Flows

A data flow shows the flow of data from a source to a destination. The
flow is shown as an arrowed line with the
arrowhead showing the direction of flow. Each data flow should be
uniquely identified by a meaningful descriptive name
(caption).

Physical Resources
A physical flow represents the flow of material (as opposed to data flows
representing the flow of information), the
31
movement of some resources or goods which are relevant to the
information system, from source to destination. They are
included to aid communication. A physical flow is represented by a broad
arrow. The resource store is represented by a
closed rectangle.
You will find that some of the books, which describe the earlier versions
of SSADM, do not include this symbol. This
notation is not used generally in DFDs. When used it is only included in
the initial set of highlevel
DFDs. Physical flows
add clutter to the DFD by their physical size. However they can be useful
for:
showing significant resource flows and states. This representation is often
more meaningful to users than
logical data flows which may appear a little abstract.
getting started in a project. Users may describe the system in terms of
physical flows and stores.
finally and importantly, the physical resources may actually be what the
system is all about. It is certainly
equally important to send both the goods and the invoice. The practical
aspects of the system may be lost to
an analyst who concentrates too much on the neatness of the data flow.

Advantages of DFDs
 A simple but powerful graphic technique which is easily
understood.
 represents an information system from the viewpoint of data
movements, which includes the inputs and outputs to
 which people can readily relate.
 the ability to represent the system at different levels of details gives
added advantage (you can include the
 advantages of decomposition listed earlier)
 helps to define the boundaries of the system.
 a useful tool to use during interviews.
 serve to identify the information services the users require, on the
basis of which the future information system will be constructed.

32
33
m

34
35
Hardware and Software Used

The hardware used by the programmer for developing our


project Name “LIC MANAGEMANT SYSTEM” meta system"
is as follows:-

Pentium computer -700 Mhz

Motherboard --Intel chipset 800

Hard disk capacity -500 GB

RAM — 64 MB

Monitors — Color monitor with VGA card having a resolution


640 X 480

Software Used:-

The software used by the programmer for developing our


project named "Lic Management System" is as follows:-

1. Coding of the project — C++


2. Components of the project — C++

Maintenance and recording of data — Datafiles

36
Header Files Used
iostream.h: The manipulators in this library affect the format of
stream operations. Eg: endl, cin, cout etc.
ioconio.h: The manipulation in this library affect the format of steam
operations. Eg: setw(), setprecision() etc.
String.h: This library enables you to manipulate C strings that end in
the char '\0', the null char. unless noted otherwise, these functions return a
pointer to the resulting string in addition to modifying an appropriate
argument. The argument ch is a character, n is an integer, and the other
arguments are strings, which usually means they are names of a char
array, but can be string constants in some cases.
Eg: strcmp, strcpy, strlen, strcat etc.
Math.h: The C++ functions in this library compute certain standard
mathematical functions. These functions are overloaded to
accommodate float, double, and long double. Unless otherwise
indicated, each function has one argument, with the return type being
the same as the argument type (either float, double, or long double).
 Ctype.h: Most functions in this library classify a given ASCII character
as a letter, a digit, and so on. Two other functions convert letters between
uppercase and lowercase. Eg: toupper(), isalpha(), isdigit() etc.
Dos.h: dos.h in c: dos.h header file of c language contains functions
for handling interrupts, producing sound, date and time functions etc. It
is borland specific and works in turbo c compiler. Eg: delay function,
sound function etc.
Process.h: Is a C++ header file which contains function declarations
and macros used in working with threads and processes. Most C
compilers that target DOS, Windows 3.1x, Win32, OS/2, Novell
NetWare or DOS extenders supply this header and the library functions
in their C library. Neither the header file nor most of the functions are
defined by either the ANSI/ISO C standard or by POSIX

37
Structures used in this code
Struct address(structure address)


A user defined data type to hold the address of the user.

Includes the variables like house number, area, city and state.

All the attributes are of character type.

2. Struct agn(structure agent)

User defined data type to hold the details of the agent

It includes the variables like name ,agent code, agent address, age,

policies sold, salary and category to which the agent belong (for ex

The built-in data types used in this structure are float, integer
character and one user defined data type i.e., address.

3. Struct cust (structure customer)

 User defined data type to hold the details of the customer.

It includes variables like name, age, address, policy brought

,salary, policy amount policy term, mode of payment, premium, and SA


per thousand per annum.

The data types used are float, character, integer and one user

defined data type i.e., address.

38
4. Struct fback (structure feedback)

User defined data type to hold the contents of the feedback form.
Includes variables like age, gender, occupation, income and ratings.

5. Struct poldet(structure policy details)


Used defined data type to hold the details and terms and
conditions of different policies offered by LIC
Includes variables like name, minimum age, maximum age,
maximum maturity age, minimum policy amount, maximum policy
amount, minimum sum assured, maximum sum assured, age proofs,
etc.
All the details of the policies are initialized just after the functions
and are displayed to the user when he/she is interested to know
about a specific policy.

Functions
Main Menu
This function gives us the first screen in our project i.e. main
menu screen to the user.
This function consists of various options for an user.
This function consists of Customer, Agent, Exit options for an user.
This function incorporates switch condition statements which
transfers the execution of the program from one function to the other
function based on the input given by the user.
Getch() function is used to take the input from an user i.e. C –
customer, A- agent, E- exit.
Toupper() function is used to convert the lower case characters to
upper case characters and hence input from the user is case sensitive.

39
Customer menu
Prototype of this function ->void cusmen();
Function definition->void cusmen()
The function definition includes user friendly statements i.e.,
“CUSTOMER MENU” which helps the user to select a specific function,
which he desires to proceed on.
The customer menu includes calling of four functions based on the
requirement of the user.
The functions are “OLD CUSTOMER FUNCTION”, “POLICIES
FUNCTION”, “BACK FUNCTION”, and “EXIT FUNCTION”.
Switch case statements are used to help the user switch to the desired
function he requires.
The user has to provide an appropriate choice to select his/her desired
page of interest.
Gotoxy statements are used to display the statements at the
required coordinates on the output screen.

New Customer
This function is used for the new customer.
It has several questions for a new user like Name, age, salary
Address, Policy term, Policy amount.
The user has to fill the form depending on the criteria of the policy
chosen by him.
Once the new customer fills all the details of the form, the functions
gets the values of premium amount and unique customer code.
Finally all the details of the user will be displayed in the fresh
screen which gives the details of his premium amount and gives him a
unique customer code for future use.
Later the user will be directed to the feedback form.

Old Customer
User has to enter his unique customer code.

40
This function matches the code with the existing code in the system
and gives the details of the user.
If the code doesn’t match then it gives a statement as customer not
found.
It uses strcmp() function to serve this purpose.

New policy
Prototype of this function->void newpol();
Definition of this function->void newpol()
The function does not return any value and hence void is used.
This function displays the different policies that are provided by the
LIC and allows the user to choose any policy that he/she would like to
purchase.
The different policies included in the function are ENDOWMENT
POLICY, MONEY BACK POLICY, JEEVAN KISHORE, and
JEEVAN ANAND AND JEEVAN SURABHI POLICY.
Again the function asks the user to enter an appropriate choice to
select a specific policy.
Switch statements are used in the function to switch to an
appropriate page specified by the user.
Functions corresponding to the policies containing the terms and
conditions are called for.
Policy details
Prototype for this function ->void tnccus();
Function definition->void tnccus();
It consists of the terms and conditions of all the policies.
This function is used to display the terms and conditions of the
policy selected by the user.
Once the user provides his choice, the page consisting of the terms
and conditions of the selected policy will be displayed.
If the user is satisfied with the terms and conditions of the policy,
the form to purchase that policy will be provided.

41
The user should enter the details like name, age, salary, etc,
appropriate to the terms of the policy.
Later a unique customer code will be provided to the user for his
future use.

AGENT FUNCTIONS:

void agnmen()
The function agnmen() displays the agent menu
It asks the user to enter a choice
The character input ‘O’ stands for old agent
The character input ‘N’ stands for new agent ,’T’ stands for terms
and conditions
getch function is used for the user to make their choice
The getch() reads a single character directly from the keyboard
This function uses a header file conio.h.
Switch-case is used where the switch statement allows a character
variable that is been chosen by a user for equality against a list of
values.
If the character entered by a user is ‘O’, old agent function is called
If user enters ‘N’, the new agent function is called
If the character entered is ‘T’ ,terms and conditions for agent
function is called
If the user inputs ‘B’ ,the control goes back to main menu function
and if input is ‘E’ ,control comes out of the switch–casestatement
If the user enter any of these character the control gets back to
getch() function until user gives a appropriate character input.
goto statement is used to transfer the control back to the
getch() function.

42
void newagn()
 The function newagn() displays the new agent form
 The new agent form ask the user to enter the new agent details like
name, age, house number, area, city, state, salary and the policies sold

 If the name, house number, area, city and state entered is compared
with the null character using library function strcmp() which uses
string.h as its
header file ,and if the comparison is equal to zero i.e if there is no
input from the user the control goes back to gets() function where the
user has to input the appropriate information

 The age of the agent should be more than 18


 The salary and policy sold is entered by user
 If policy sold is greater than zero and less than 1000,the agent is
categorised under "BRANCH MANAGER CLUB MEMBER"

 If policy sold is greater than 999 and less than 2000,the agent is
categorised under "DIVISIONAL MANAGER CLUB MEMBER"
 If policy sold is greater than 1999 and less than 3000,the agent is
categorised under "ZONAL MANAGER CLUB MEMBER"

 If policy sold is greater than 2999,the agent is categorised under


"CHAIRMAN CLUB MEMBER"

 then the agents unique code is created using fabs() which is a mathematical
Function that returns the absolute value of the given argument.
 Then the agent details is displayed on to the screen
 At the end of the function agent menu function is called.

Void oldagn()

 The function oldagn() is used to display old agents details


 It asks the user to input the agent code the information of the agent
Corresponding to the agent code entered by the user is displayed on to the screen
 the agent information like name ,age, address, policies sold ,agent category and
salary is displayed on to the screen
 Here the flag ,which is a predefined bit or bit sequence that holds a binary value
and it is initialised to zero

43
 If the flag is 0 ,the agent is not found
 The information of the agent is found only when flag is 1
 At the end of the execution agent menu function is called

Void tncagn()

 The function tncagn() displays the terms and conditions for the agent
 The minimum eligibility for the life insurance agency are:
 Qualification :12th class passed
 Age: 18 years completed
 Applicant should have passed the online exam conducted by NSE-IT
 Agents license is issued for the 3years in the beginning and renewed thereafter
for another 3years
 After the completion of 25 hours of agents training
 Business condition for the agency enforced-12 lives with 1lakh sum assured
 First premium income should be one lakh

New agent form

 This function displays the form for a new agent.


 We again use the gotoxy function to get to a specific spot on the screen.
 Using the Cout statement, we display the necessary details, like name, age, address and
policies sold.
 We use Cin statements, we get the data corresponding to all the above details required.
 There are certain minimum requirements that the company expects a prospective
agent to fulfill, such as minimum age limit, and so, we have an if statement that compar
the input age with 18, and tells immediately if the user can proceed or not.
 Also, the company isn’t willing to accept a blank space at any of the spaces.
 Hence, we compare each of the inputs such as addagn.hno, addagn.city provided by
user to a null character ‘\0’ using an if condition.
 To assign the designation of the new agent, we use the number of policies sold
as a basic credential.
 If an agent has sold less than a 1000 policies, then he/she is categorized as a Branch Manager.
 Else if, number of policies are between 1000 and 2000,then as a Divisional manager, as
 a Zonal manager if policies sold are above 2000 and below 3000 and a Chairman if more
than 3000.

44
 After getting all details, we need to generate a unique agent code for each agent for
further accessing.
 To achieve this uniqueness, we perform this equation

 fabs(100+(20*agnt[i].age)-(80*i))

 We use the agent’s age and the applicant number to reduce the ambiguity.
 Fabs is function that displays the absolute value of the expression, i.e. , ignores the
decimal part.
 Next step is to display all the entered details.
 We use a simple Cout statement for displaying the details.

Old agent details

 This function enables an existing agent to view his/her details, on providing the
unique code.
 We create a variable flag, which indicates whether the system has found the agent or
not.
 Using gotoxy statement we get to the specific spot on the screen, and ask the user
to enter the code.
 This code is stored in an integer variable pn.
 Pn is compared with existing codes using an if statement, and on finding the code
in the database, flag value becomes 1, and the agent details corresponding to the
code are displayed.
 If the code is not found ,flag value becomes 0,which in turn calls the Cout statement
that displays to the user that agent of that particular code wasn’t found.
 After execution, the control is shifted to the agnmen() function again.

Feedback Form:

 Whenever a customer or an user wants to exit from the system, the user will be
transferred to feedback form.
 This functions firstly takes details of an user like name, age, salary etc.

45
 Once the user fills all his details he will be given with five questions.
 Answers to the questions are to be given in 1-7 ratings, i.e. 1(Poor) and 7(Excellent).
 Once the answer to all questions are submitted user can exit the system.

46
/* Program to Lic management System */

#include<iostream.h>

#include<conio.h>

#include<string.h>

#include<dos.h>

#include<ctype.h>
47
#include<stdio.h>

#include<process.h>

#include<iomanip.h>

#include<math.h>

/* STRUCTURE DEFINITIONS */

struct address /* STRUCTURE FOR ADDRESS */

char hno[30];

char area[30];

char city[30];

char stat[30];

};

struct agn /* STRUCTURE FOR AGENT DETAILS */

int code;

char nam[80];

int age;

address addagn;

int polsld; //no. of policies sold

48
float sal; //salary

char categ[50]; //category

}agnt[15];

struct cust /* STRUCTURE FOR CUSTOMER DETAILS */

char nam[80];

int age;

address addcust;

char polbt[20]; //name of policy bought

float sal; //salary

int code;

float polamt;

int polterm;

char mod_pay;

float sa_pt_pa; //SA per thousand per annum

float prem; //premium

}custm[15];

struct fback /* STRUCTURE FOR FEEDBACK FORM */

int age;

49
char gndr; //gender

char occp[20]; //occupation

float inc; //income

char a[12]; //ratings

}fbk;

struct poldet /* STRUCTURE FOR POLICY T&C */

char nam[20];

int minagemat;

int maxagemat;

int maxmatage;

int minpolt;

int maxpolt;

float minsumass;

char maxsumass[10];

char modeall[25];

float acci_ben;

float CI;

int femliv;

char agepro[40];

char nonmed_gen[5];

char nonmed_spe[5];

50
char termrideroptn[4];

char crtcalilnesridr[4];

float sa_pt_patrm1_ag1;//SA per thousand per annum

float sa_pt_patrm1_ag2;

float sa_pt_patrm2_ag1;

float sa_pt_patrm2_ag2;

};

/* STORING POLICY DETAILS */

poldet endow={"ENDOWMENT POLICY",12,65,75,5,55,50000.00,"No


Limit","All",1.00,

7.26,2,"Birth Certificate / Board Certificate","Yes","Yes",

"Yes","Yes",72.00,73.35,35.80,40.00};

poldet monbak={"MONEY BACK


POLICY",13,50,70,20,55,50000.00,"No Limit","All",

2.00,6.57,2,"Birth Certificate / Board


Certificate","Yes","Yes",

"Yes","Yes",65.35,53.45,71.85,61.55};

poldet jeevkish={"JEEVAN KISHORE",0,12,45,15,35,50000.00,"40


Lacs","All",1.50,

6.52,2,"Birth Certificate / Board Certificate","N.A.","N.A.",

"No","No",49.15,29.25,49.15,29.25};

51
poldet jeevannd={"JEEVAN ANAND",18,65,75,5,57,100000.00,"No
Limit",

"All Except Single",1.5,6.45,2,"Birth Certificate / Board


Certificate",

"Yes","Yes","No","Yes",50.95,39.05,155.75,86.25};

poldet jeevsurbh={"JEEVAN SURABHI",14,50,70,15,25,50000.00,"No


Limit","All",

1.00,6.11,2,"Birth Certificate / Board Certificate","Yes",

"Yes","No","No",108.80,91.30,123.00,112.80};

/* FUNCTION PROTOTYPING */

/* FUNCTION FOR DISPLAYING MAIN MENU */

void welcome();//display welcome page

void mainmen();//display main menu

/* CUSTOMER FUNCTIONS */

void cusmen();//display customer menu

void newpol();//display new policies

52
void tnccus(poldet pol);//display details of policies

void newcus(poldet pol);//new customer data input

float premcalc(cust custm,poldet pol);//premium calculation

void oldcus();//display old customer's previous policy details

void feed();//display feedback form

char feedval();//input & test the ratings of feedback form

/* AGENT FUNCTIONS */

void agnmen();//display agent menu

void newagn();//new agent data input

void oldagn();//old agent details

void tncagn();//display terms & conditions for agents

/* MAIN FUNCTION */

void main()

cout.setf(ios::fixed);

cout.setf(ios::showpoint);

cout<<setprecision(2);

textbackground(BLACK);

53
textcolor(CYAN+BLINK);

clrscr();

delay(1500);

gotoxy(25,20);

puts("LOADING");

delay(2000);

for(int i=0;i<11;i++)

textcolor(CYAN);

textbackground(BLACK);

clrscr();

gotoxy(25,20);

puts("LOADING");

gotoxy(25,22);

for(int j=0;j<i;j++)

cout<<"ÛÛ";

for(int x=10-(i);x>0;x--)

cout<<" ";

54
cout<<" "<<i<<"0%";

if(i%2==0)

delay(500);

else

delay(200);

gotoxy(33,25);

puts("COMPLETE!!");

delay(500);

welcome();

/* WELCOME SCREEN */

void welcome()

clrscr();

for(int x=0;x<80;x++)

gotoxy(x,0);

cout<<"•";

delay(5);

55
}

for(int y=0;y<48;y++)

gotoxy(0,y);

cout<<"•\n";

delay(5);

for(x=79;x>0;x--)

gotoxy(x,49);

cout<<"•";

delay(5);

gotoxy(80,49);

cout<<"•";

for(y;y>0;y--)

gotoxy(80,y);

cout<<"•\n";

delay(5);

56
}

gotoxy(10,10);

puts("*********************** W E L C O M E ***********************
");

gotoxy(18,16);

puts("L . I . C . D A T A B A S E S O F T W A R E");

gotoxy(38,22);

puts(" D E V E L O P E D B Y : ");

gotoxy(38,26);

puts(" Pawan KUMAR ");

gotoxy(38,28);

puts(" BCA");

gotoxy(38,30);

puts(" iimmi ");

gotoxy(38,32);

puts(" gtb nagar");

gotoxy(38,34);

puts(" DELHI-54");

gotoxy(38,40);

puts(" *** PRESS ANY KEY TO CONTINUE ***");

getch();

mainmen();

57
}

/* MAIN MENU */

void mainmen()

char a;

clrscr();

cout<<"\n";

for(int x=0;x<80;x++)

delay(5);

cout<<"•";

for(int y=1;y<16;y++)

delay(5);

gotoxy(0,y);

cout<<"•\n";

gotoxy(25,5);

58
cout<<"WELCOME TO LIFE INSURANCE COMPANY";

gotoxy(25,6);

cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$";

gotoxy(36,9);

cout<<"L.I.C. MENU";

gotoxy(36,12);

cout<<"C=CUSTOMER";

gotoxy(36,14);

cout<<"A=AGENT";

gotoxy(36,16);

cout<<"X=EXIT";

cout<<"\n\n";

for(x=1;x<80;x++)

delay(5);

cout<<"•";

for(y=2;y<19;y++)

delay(5);

gotoxy(80,y);

cout<<"•";

59
}

gotoxy(30,20);

cout<<"Please enter your choice : ";

x:a=getch();

switch(a)

case 'c':

case 'C':cusmen();

break;

case 'a':

case 'A':agnmen();

break;

case 'x':

case 'X':feed();

break;

default:goto x;

/* CUSTOMER MENU */

void cusmen()

60
char b;

x:clrscr();

cout<<"\n";

for(int x=0;x<80;x++)

delay(5);

cout<<"•";

for(int y=1;y<16;y++)

delay(5);

gotoxy(0,y);

cout<<"•\n";

gotoxy(36,5);

cout<<"CUSTOMER MENU";

gotoxy(36,6);

cout<<"$$$$$$$$$$$$$";

gotoxy(36,9);

cout<<"O=OLD CUSTOMER";

gotoxy(36,11);

61
cout<<"P=POLICIES";

gotoxy(36,13);

cout<<"B=BACK";

gotoxy(36,15);

cout<<"X=EXIT";

cout<<"\n\n";

for(x=0;x<80;x++)

delay(5);

cout<<"•";

for(y=2;y<18;y++)

gotoxy(80,y);

delay(5);

cout<<"•";

gotoxy(30,19);

cout<<"Please enter your choice : ";

y:b=getch();

62
switch(b)

case 'o':

case 'O':oldcus();

break;

case 'p':

case 'P':newpol();

break;

case 'b':

case 'B':mainmen();

break;

case 'x':

case 'X':feed();

break;

default:goto y;

/* NEW POLICY */

void newpol()

char inp;

clrscr();

63
cout<<"\n";

for(int x=0;x<80;x++)

delay(5);

cout<<"•";

for(int y=1;y<17;y++)

delay(5);

gotoxy(0,y);

cout<<"•\n";

gotoxy(30,5);

cout<<"LIFE INSURANCE POLICIES";

gotoxy(30,6);

cout<<"$$$$$$$$$$$$$$$$$$$$$$$";

gotoxy(31,9);

cout<<"1. Endowment Policy";

gotoxy(31,11);

cout<<"2. Money Back Policy";

64
gotoxy(31,13);

cout<<"3. Jeevan Kishore";

gotoxy(31,15);

cout<<"4. Jeevan Anand";

gotoxy(31,17);

cout<<"5. Jeevan Surabhi";

cout<<"\n\n";

for(x=0;x<80;x++)

delay(5);

cout<<"•";

for(y=2;y<19;y++)

delay(5);

gotoxy(80,y);

cout<<"•";

gotoxy(31,21);

cout<<"B=Back";

gotoxy(31,23);

65
cout<<"X=Exit";

gotoxy(31,25);

cout<<"Please enter your choice : ";

x:inp=getch();

switch(inp)

case '1':tnccus(endow);

case '2':tnccus(monbak);

case '3':tnccus(jeevkish);

case '4':tnccus(jeevannd);

case '5':tnccus(jeevsurbh);

case 'b':

case 'B':cusmen();

case 'x':

case 'X':exit(0);

default:goto x;

66
}

/* POLICY DETAILS */

void tnccus(poldet pol)

char in;

clrscr();

cout<<"\n";

for(int x=0;x<80;x++)

delay(5);

cout<<"•";

for(int y=1;y<32;y++)

delay(5);

gotoxy(0,y);

cout<<"•\n";

67
gotoxy(25,5);

cout<<"TERMS & CONDITIONS FOR ";

puts(pol.nam);

gotoxy(12,8);

cout<<"¯ Min./Max. age at entry : ";

cout<<pol.minagemat<<" / "<<pol.maxagemat;

gotoxy(12,10);

cout<<"¯ Max. maturity age : "<<pol.maxmatage;

gotoxy(12,12);

cout<<"¯ Min./Max. policy term : "<<pol.minpolt<<" /


"<<pol.maxpolt;

gotoxy(12,14);

cout<<"¯ Min./Max. sum assured : "<<pol.minsumass<<" / ";

puts(pol.maxsumass);

gotoxy(12,16);

cout<<"¯ Mode allowed : ";

puts(pol.modeall);

gotoxy(12,18);

cout<<"¯ Accident Benefit : "<<pol.acci_ben;

cout<<" per thousand S.A. per annum";

gotoxy(12,20);

cout<<"¯ Compound Interest : "<<pol.CI;

gotoxy(12,22);

cout<<"¯ Female Lives : "<<pol.femliv;

68
gotoxy(12,24);

cout<<"¯ Age Proof : ";

puts(pol.agepro);

gotoxy(12,26);

cout<<"¯ Non Medical (General) : ";

puts(pol.nonmed_gen);

gotoxy(12,28);

cout<<"¯ Non Medical (Special) : ";

puts(pol.nonmed_spe);

gotoxy(12,30);

cout<<"¯ Term rider option : ";

puts(pol.termrideroptn);

gotoxy(12,32);

cout<<"¯ Critical illness rider : ";

puts(pol.crtcalilnesridr);

cout<<"\n";

for(x=0;x<80;x++)

delay(5);

cout<<"•";

for(y=2;y<34;y++)

69
{

delay(5);

gotoxy(80,y);

cout<<"•";

gotoxy(12,36);

cout<<"Does this policy satisfy your needs?(Y/N) : ";

a:in=getch();

switch(in)

case 'Y':

case 'y':newcus(pol);

case 'n':

case 'N':newpol();

default:goto a;

/* NEW POLICY FORM */

70
void newcus(poldet pol)

int j;

clrscr();

for(int i=0;i<15;i++)

if(strcmp(custm[i].nam,"\0")==0)

break;

gotoxy(28,3);

cout<<"POLICY FORM FOR ";

puts(pol.nam);

gotoxy(25,6);

cout<<"Please enter the following details : ";

gotoxy(25,8);

cout<<"¯ NAME : ";

gotoxy(25,10);

cout<<"¯ AGE : ";

gotoxy(25,12);

cout<<"¯ ADDRESS : ";

gotoxy(29,14);

cout<<"* HOUSE NO. : ";

71
gotoxy(29,16);

cout<<"* AREA : ";

gotoxy(29,18);

cout<<"* CITY : ";

gotoxy(29,20);

cout<<"* STATE : ";

gotoxy(25,22);

if(strcmp(pol.nam,"JEEVAN KISHORE"))

cout<<"¯ SALARY : ";

gotoxy(25,24);

cout<<"¯ POLICY AMOUNT : ";

gotoxy(25,26);

cout<<"¯ MODE OF PAYMENT : ";

gotoxy(29,28);

cout<<"( Q=QUARTERLY, H=HALF YEARLY, Y=YEARLY)";

gotoxy(25,30);

cout<<"¯ POLICY TERM : ";

a:gotoxy(34,8);

gets(custm[i].nam);

if(strcmp(custm[i].nam,"\0")==0)

goto a;

b:gotoxy(33,10);

72
for(j=0;j<20;j++)

cout<<" ";

gotoxy(33,10);

cin>>custm[i].age;

if(custm[i].age<pol .minagemat||custm[i].age>pol.maxagemat)

gotoxy(20,40);

cout<<"Age must be between "<<pol.minagemat<<" to


"<<pol.maxagemat<<" years";

goto b;

else

gotoxy(20,40);

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

cout<<" ";

c:gotoxy(43,14);

gets(custm[i].addcust.hno);

if(strcmp(custm[i].addcust.hno,"\0")==0)

goto c;

d:gotoxy(38,16);

73
gets(custm[i].addcust.area);

if(strcmp(custm[i].addcust.area,"\0")==0)

goto d;

e:gotoxy(38,18);

gets(custm[i].addcust.city);

if(strcmp(custm[i].addcust.city,"\0")==0)

goto e;

f:gotoxy(39,20);

gets(custm[i].addcust.stat);

if(strcmp(custm[i].nam,"\0")==0)

goto f;

gotoxy(36,22);

if(strcmp(pol.nam,"JEEVAN KISHORE"))//check if the policy name

cin>>custm[i].sal; //is JEEVAN KISHORE

g:gotoxy(43,24);

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

cout<<" ";

gotoxy(43,24);

cin>>custm[i].polamt;

if(custm[i].polamt<pol.minsumass)

74
{

gotoxy(20,40);

cout<<"Policy amount must be more than Rs.


"<<pol.minsumass;

goto g;

else

gotoxy(20,40);

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

cout<<" ";

gotoxy(45,26);

h:custm[i].mod_pay=getch();

switch(custm[i].mod_pay)

case 'q':

case 'Q':

case 'h':

case 'H':

case 'y':

case 'Y':custm[i].mod_pay=toupper(custm[i].mod_pay);

cout<<custm[i].mod_pay;

getch();

75
break;

default:goto h;

k:custm[i].polterm=0;

gotoxy(41,30);

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

cout<<" ";

gotoxy(41,30);

cin>>custm[i].polterm;

if((custm[i].polterm<pol.minpolt)||(custm[i].polterm>pol.maxpolt))

gotoxy(20,40);

cout<<"Policy term must be between "<<pol.minpolt;

cout<<" to "<<pol.maxpolt<<" years";

goto k;

else

gotoxy(20,40);

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

cout<<" ";

76
strcpy(custm[i].polbt,pol.nam);//copy the policy name to customer's
details

custm[i].code=fabs((100*i)+89-(custm[i].age));//create unique code

custm[i].prem=premcalc(custm[i],pol);//calculate premium

clrscr();

gotoxy(30,3);

cout<<"Your details are : ";

gotoxy(25,6);

cout<<"¯ NAME : ";

puts(custm[i].nam);

gotoxy(25,8);

cout<<"¯ AGE : "<<custm[i].age;

gotoxy(25,10);

cout<<"¯ ADDRESS : ";

gotoxy(29,12);

cout<<"* HOUSE NO. : ";

puts(custm[i].addcust.hno);

gotoxy(29,14);

cout<<"* AREA : ";

puts(custm[i].addcust.area);

gotoxy(29,16);

77
cout<<"* CITY : ";

puts(custm[i].addcust.city);

gotoxy(29,18);

cout<<"* STATE : ";

puts(custm[i].addcust.stat);

gotoxy(25,20);

cout<<"¯ POLICY NAME : ";

puts(custm[i].polbt);

gotoxy(25,22);

if(strcmp(pol.nam,"JEEVAN KISHORE"))

cout<<"¯ SALARY : Rs. "<<custm[i].sal;

gotoxy(25,24);

cout<<"¯ POLICY AMOUNT : Rs. "<<custm[i].polamt;

gotoxy(25,26);

cout<<"¯ POLICY TERM : "<<custm[i].polterm<<" years";

gotoxy(25,28);

cout<<"¯ MODE OF PAYMENT : ";

switch(custm[i].mod_pay)

case 'Y':cout<<"YEARLY";

break;

case 'H':cout<<"HALF YEARLY";

break;

case 'Q':cout<<"QUARTERLY";

78
}

gotoxy(25,30);

cout<<"¯ PREMIUM : Rs. "<<custm[i].prem<<" per annum";

gotoxy(25,32);

cout<<"¯ CUSTOMER CODE : "<<custm[i].code;

getch();

cusmen();

/* PREMIUM CALCULATION */

float premcalc(cust custm,poldet pol)

float a;

if(custm.age<(pol.minagemat+pol.maxagemat)/2)

if(custm.polterm<=(pol.minpolt+pol.maxpolt)/2)

custm.sa_pt_pa=pol.sa_pt_patrm1_ag1;

if(custm.polterm>(pol.minagemat+pol.maxagemat)/2)

custm.sa_pt_pa=pol.sa_pt_patrm2_ag1;

79
if(custm.age>=(pol.minagemat+pol.maxagemat)/2)

if(custm.polterm<=(pol.minpolt+pol.maxpolt)/2)

custm.sa_pt_pa=pol.sa_pt_patrm1_ag2;

if(custm.polterm>(pol.minpolt+pol.maxpolt)/2)

custm.sa_pt_pa=pol.sa_pt_patrm2_ag2;

if(custm.mod_pay=='h'||custm.mod_pay=='H')

custm.sa_pt_pa*=0.985;

else if(custm.mod_pay=='y'||custm.mod_pay=='Y')

custm.sa_pt_pa*=0.97;

if(custm.polamt>pol.minsumass&&custm.polamt<=(2*pol.minsumas
s))

custm.sa_pt_pa-=1;

if(custm.polamt>(2*pol.minsumass))

custm.sa_pt_pa-=2;

a=(custm.sa_pt_pa)*(custm.polamt)/1000;

return a;

80
}

/* OLD CUSTOMER'S DETAILS */

void oldcus()

int flag=0;

clrscr();

gotoxy(25,6);

cout<<"PLEASE ENTER CUSTOMER CODE : ";

int pn;

cin>>pn;

for(int i=0;i<15;i++)

if(pn==custm[i].code)//check the customer code

flag=1;

gotoxy(25,10);

cout<<"¯ NAME : ";

puts(custm[i].nam);

gotoxy(25,12);

cout<<"¯ AGE : "<<custm[i].age;

81
gotoxy(25,14);

cout<<"¯ ADDRESS : ";

gotoxy(29,16);

cout<<"* HOUSE NO. : ";

puts(custm[i].addcust.hno);

gotoxy(29,18);

cout<<"* AREA : ";

puts(custm[i].addcust.area);

gotoxy(29,20);

cout<<"* CITY : ";

puts(custm[i].addcust.city);

gotoxy(29,22);

cout<<"* STATE : ";

puts(custm[i].addcust.stat);

gotoxy(25,24);

cout<<"¯ POLICY NAME : ";

puts(custm[i].polbt);

gotoxy(25,26);

cout<<"¯ SALARY : Rs. "<<custm[i].sal;

gotoxy(25,28);

cout<<"¯ POLICY AMOUNT : Rs. "<<custm[i].polamt;

gotoxy(25,30);

cout<<"¯ POLICY TERM : "<<custm[i].polterm<<" years";

gotoxy(25,32);

82
cout<<"¯ MODE OF PAYMENT : ";

switch(custm[i].mod_pay)

case 'Y':cout<<"YEARLY";

break;

case 'H':cout<<"HALF YEARLY";

break;

case 'Q':cout<<"QUARTERLY";

gotoxy(25,34);

cout<<"¯ PREMIUM : Rs. "<<custm[i].prem<<" per


annum";

getch();

cusmen();

if(flag==0) //if customer is not found

gotoxy(25,8);

cout<<"SORRY, CUSTOMER NOT FOUND";

83
getch();

cusmen();

/* AGENT MENU */

void agnmen()

char b;

x:clrscr();

cout<<"\n";

for(int x=0;x<80;x++)

delay(5);

cout<<"•";

for(int y=1;y<17;y++)

delay(5);

gotoxy(0,y);

cout<<"•\n";

84
gotoxy(36,5);

cout<<"AGENT MENU";

gotoxy(36,6);

cout<<"$$$$$$$$$$";

gotoxy(36,9);

cout<<"O=OLD AGENT";

gotoxy(36,11);

cout<<"N=NEW AGENT";

gotoxy(36,13);

cout<<"T=TERMS & CONDITIONS";

gotoxy(36,15);

cout<<"B=BACK";

gotoxy(36,17);

cout<<"X=EXIT";

cout<<"\n\n";

for(x=0;x<80;x++)

delay(5);

cout<<"•";

for(y=2;y<19;y++)

85
{

delay(5);

gotoxy(80,y);

cout<<"•";

gotoxy(30,21);

cout<<"Please enter your choice : ";

y:b=getch();

switch(b)

case 'o':

case 'O':oldagn();

break;

case 'n':

case 'N':newagn();

break;

case 'T':

case 't':tncagn();

goto x;

case 'b':

case 'B':mainmen();

break;

86
case 'X':

case 'x':exit(0);

break;

default:goto y;

/* NEW AGENT FORM */

void newagn()

int o;

clrscr();

for(int i=0;i<15;i++)

if(strcmp(agnt[i].nam,"\0")==0)

break;

gotoxy(34,3);

cout<<"NEW AGENT FORM";

gotoxy(25,6);

cout<<"Please enter the following details : ";

87
gotoxy(25,8);

cout<<"¯ NAME : ";

gotoxy(25,10);

cout<<"¯ AGE : ";

gotoxy(25,12);

cout<<"¯ ADDRESS : ";

gotoxy(29,14);

cout<<"* HOUSE NO. : ";

gotoxy(29,16);

cout<<"* AREA : ";

gotoxy(29,18);

cout<<"* CITY : ";

gotoxy(29,20);

cout<<"* STATE : ";

gotoxy(25,22);

cout<<"¯ SALARY : ";

gotoxy(25,24);

cout<<"¯ POLICIES SOLD : ";

x:gotoxy(34,8);

gets(agnt[i].nam);

if(strcmp(agnt[i].nam,"\0")==0)

goto x;

88
y:gotoxy(33,10);

cin>>agnt[i].age;

if(agnt[i].age<18)

gotoxy(20,40);

cout<<"Age must be more than 18";

gotoxy(33,10);

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

cout<<" ";

goto y;

else

gotoxy(20,40);

for(o=0;o<35;o++)

cout<<" ";

a:gotoxy(43,14);

gets(agnt[i].addagn.hno);

if(strcmp(agnt[i].addagn.hno,"\0")==0)

goto a;

b:gotoxy(38,16);

89
gets(agnt[i].addagn.area);

if(strcmp(agnt[i].addagn.area,"\0")==0)

goto b;

c:gotoxy(38,18);

gets(agnt[i].addagn.city);

if(strcmp(agnt[i].addagn.city,"\0")==0)

goto c;

d:gotoxy(39,20);

gets(agnt[i].addagn.stat);

if(strcmp(agnt[i].addagn.stat,"\0")==0)

goto d;

gotoxy(36,22);

cin>>agnt[i].sal;

gotoxy(43,24);

cin>>agnt[i].polsld;

if((agnt[i].polsld)>0&&(agnt[i].polsld)<1000) //categorise the


agent

strcpy(agnt[i].categ,"BRANCH MANAGER CLUB MEMBER");

90
else if((agnt[i].polsld)>999&&(agnt[i].polsld)<2000)

strcpy(agnt[i].categ,"DIVISIONAL MANAGER CLUB MEMBER");

else if((agnt[i].polsld)>1999&&(agnt[i].polsld)<3000)

strcpy(agnt[i].categ,"ZONAL MANAGER CLUB MEMBER");

else if((agnt[i].polsld)>2999)

strcpy(agnt[i].categ,"CHAIRMAN CLUB MEMBER");

agnt[i].code=fabs(100+(20*agnt[i].age)-(80*i)); //create unique


code

clrscr();

gotoxy(34,3);

cout<<"Your details are : ";

gotoxy(25,6);

cout<<"¯ NAME : ";

puts(agnt[i].nam);

gotoxy(25,8);

cout<<"¯ AGE : "<<agnt[i].age;

gotoxy(25,10);

cout<<"¯ SALARY : Rs. "<<agnt[i].sal;

gotoxy(25,12);

cout<<"¯ ADDRESS : ";

91
gotoxy(29,14);

cout<<"* HOUSE NO. : ";

puts(agnt[i].addagn.hno);

gotoxy(29,16);

cout<<"* AREA : ";

puts(agnt[i].addagn.area);

gotoxy(29,18);

cout<<"* CITY : ";

puts(agnt[i].addagn.city);

gotoxy(29,20);

cout<<"* STATE : ";

puts(agnt[i].addagn.stat);

gotoxy(25,22);

cout<<"¯ POLICIES SOLD : "<<agnt[i].polsld;

gotoxy(25,24);

cout<<"¯ AGENT CATEGORY : ";

puts(agnt[i].categ);

gotoxy(25,26);

cout<<"¯ AGENT CODE : "<<agnt[i].code;

getch();

agnmen();

92
/* OLD AGENT'S DETAILS */

void oldagn()

int flag=0;

clrscr();

gotoxy(25,6);

cout<<"PLEASE ENTER THE AGENT CODE : ";

int pn;

cin>>pn;

for(int i=0;i<15;i++)

if(pn==agnt[i].code)//check agent code

flag=1;

gotoxy(25,9);

cout<<"¯ NAME : ";

cout<<agnt[i].nam;

gotoxy(25,11);

cout<<"¯ ADDRESS : ";

gotoxy(29,13);

cout<<"* HOUSE NO. : ";

93
puts(agnt[i].addagn.hno);

gotoxy(29,15);

cout<<"* AREA : ";

puts(agnt[i].addagn.area);

gotoxy(29,17);

cout<<"* CITY : ";

puts(agnt[i].addagn.city);

gotoxy(29,19);

cout<<"* STATE : ";

puts(agnt[i].addagn.stat);

gotoxy(25,21);

cout<<"¯ POLICIES SOLD : ";

cout<<agnt[i].polsld;

gotoxy(25,23);

cout<<"¯ AGENT CATEGORY : ";

puts(agnt[i].categ);

gotoxy(25,25);

cout<<"¯ SALARY : Rs. ";

cout<<agnt[i].sal;

getch();

agnmen();

94
if(flag==0)//if agent is not found

gotoxy(25,8);

cout<<"SORRY, AGENT NOT FOUND";

getch();

agnmen();

/* T&C FOR AGENTS */

void tncagn()

clrscr();

cout<<"\n";

for(int x=0;x<80;x++)

delay(5);

cout<<"•";

95
for(int y=1;y<34;y++)

delay(5);

gotoxy(0,y);

cout<<"•\n";

gotoxy(25,5);

cout<<"TERMS & CONDITIONS FOR AGENT";

gotoxy(25,6);

cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$";

gotoxy(15,10);

cout<<"¯ MINIMUM ELIGIBILITY FOR LIFE INSURANCE AGENCY";

gotoxy(19,12);

cout<<"* QUALIFICATION : 12th class passed";

gotoxy(19,14);

cout<<"* AGE : 18 years completed";

gotoxy(19,16);

cout<<"* Applicant should have passed the online exam";

gotoxy(21,18);

cout<<"conducted by NSE-IT";

gotoxy(15,22);

cout<<"¯ AGENT'S LICENSE is issued for 3 years in the";

gotoxy(17,24);

96
cout<<"beginning and renewed thereafter for another 3 years";

gotoxy(17,26);

cout<<"after the completion of 25 hours of Agent's training.";

gotoxy(15,30);

cout<<"¯ BUSINESS CONDITION FOR THE AGENCY ENFORCED";

gotoxy(19,32);

cout<<"* 12 lives with 1 lac sum assured";

gotoxy(19,34);

cout<<"* First Premium Income(FPI) : Rs. 1 lac";

cout<<"\n\n";

for(x=0;x<80;x++)

delay(5);

cout<<"•";

for(y=2;y<36;y++)

delay(5);

gotoxy(80,y);

cout<<"•";

97
getch();

/* DISPLAY FEEDBACK FORM */

void feed()

char str[9]="THANK YOU";

clrscr();

gotoxy(34,3);

cout<<"FEEDBACK FORM";

gotoxy(34,4);

cout<<"*************";

gotoxy(6,6);

cout<<"Please enter the following details : ";

gotoxy(6,8);

cout<<"AGE : ";

gotoxy(6,10);

cout<<"GENDER (m/f) : ";

gotoxy(6,12);

cout<<"OCCUPATION : ";

gotoxy(6,14);

cout<<"MONTHLY INCOME : ";

98
gotoxy(32,16);

cout<<"QUESTIONAIRE FORM";

gotoxy(32,17);

cout<<"*****************";

gotoxy(6,19);

cout<<"How would you rate LIC's performance on the following


service features";

gotoxy(6,21);

cout<<"using (1-7) where \"1\" indicates LOW rating & \"7\"


indicates HIGH rating";

gotoxy(6,23);

cout<<"1. LIC performs the service right the first time : ";

gotoxy(6,25);

cout<<"2. Agents in LIC give you prompt service : ";

gotoxy(6,27);

cout<<"3. Agents in LIC are always willing to help you : ";

gotoxy(6,29);

cout<<"4. You feel safe in your transactions with LIC : ";

gotoxy(6,31);

cout<<"5. Agents of LIC understand your specific needs : ";

gotoxy(6,33);

cout<<"6. LIC agents have the knowledge to answer your questions :


";

gotoxy(6,35);

cout<<"7. LIC has modern-looking equipments : ";

99
gotoxy(6,37);

cout<<"8. LIC has convenient business hours : ";

gotoxy(6,39);

cout<<"9. Location of LIC office is conducive : ";

gotoxy(6,41);

cout<<"10. Range of life insurance plans : ";

gotoxy(6,43);

cout<<"11. Premium rates of insurance plans : ";

gotoxy(6,45);

cout<<"12. Trouble free policy servicing : ";

gotoxy(12,8);

cin>>fbk.age;

gotoxy(21,10);

b:fbk.gndr=getch();

switch(fbk.gndr)

case 'm':

case 'M':

case 'f':

case 'F':cout<<fbk.gndr;

break;

100
default:goto b;

getch();

c:gotoxy(19,12);

gets(fbk.occp);

if(strcmp(fbk.occp,"\0")==0)

goto c;

gotoxy(23,14);

cin>>fbk.inc;

gotoxy(57,23);

fbk.a[0]=feedval();

gotoxy(49,25);

fbk.a[1]=feedval();

gotoxy(56,27);

fbk.a[2]=feedval();

gotoxy(55,29);

fbk.a[3]=feedval();

101
gotoxy(56,31);

fbk.a[4]=feedval();

gotoxy(66,33);

fbk.a[5]=feedval();

gotoxy(45,35);

fbk.a[6]=feedval();

gotoxy(45,37);

fbk.a[7]=feedval();

gotoxy(47,39);

fbk.a[8]=feedval();

gotoxy(42,41);

fbk.a[9]=feedval();

gotoxy(45,43);

fbk.a[10]=feedval();

gotoxy(42,45);

fbk.a[11]=feedval();

102
gotoxy(36,47);

for(int x=0;x<9;x++)

cout<<str[x];

delay(100);

getch();

exit(0);

/* INPUT THE RATINGS & CHECK THEM */

char feedval()

char x;

d:x=getch();

if(x>'0'&&x< '8')

cout<<x;

else

goto d;

103
getch();

return x;

104
105
106
107
108
109
110
111
112
113
114
115
116
IMPLEMENTATION
A crucial phase in the system life is the successful implementation of
the new system design implementation simply mean converting a
new system design into operation This involves creating computer
compatible files, training the operation staff and installing hardware
terminals and telecommunication network before the system is up
and running,

In system implementation, user training is crucial resistance to


change and giving the new system a chance to prove its worth.
Training aids such as user-friendly manuals, a data dictionary and job
performance aids that communicate information about the new
system and help screens. Provide the user With a good start on the
new system.

117
USER MANUAL
 Installation
 How to use

Installation :- Lic management system project can easily be installed on


any system To install do the following steps

1. Insert floppy disk into floppy drive.

2. Copy "Project" folder from there and paste it to C Drive

3. A file Lic .exe is present in. Project folder.

Now Lic project has installed onto your system. To use

Lic project double click on. Lic Menu .exe. How to use:-

Customer or Agent if you want to show an information pertaining to


policy number then enter the Endowment no.

CUSTOMER

Of you Want to add an information pertaining` to customer then choose


C option open Customer menu fill the information

If you want to modify an into pertaining to Agent then enter then


Choose the A"' option EDIT Old, New ,Terms then choose O Option &
enter modify Old Agent Information

. • If you Want to delete an information New Agent then Choose the N


key option EDIT and than 'full fill the all information

• If you want to Read terms and conditions than choose the 3rd
option TRANSACTION and then press T key

• In case you face any problem regarding operating LIC


MANAGEMENT PROJECT. At the running time. Then you can use lic
PROJECT HELP. For using HELP choose HELP from the main menu.

118
119
System Maintenance
Maintenance is the enigma of system development It holds software
industry captive typing up programming spend for more time in
maintaining program than writing them.

Primary activities of a maintenance procedure


Maintenance activities begin Where conversion leaves off Maintenance is
handled by same planning and control used in a formal system project.
Documentation is as much a part of maintenance as it is of system
development. The source program and written procedures for the system
are acquired from the Programming banking. Program changes are then
tested and submitted to the user for approval. Once approved, the
modified documentation is filed with the banking management and a
project completion notice is sent to the user, signaling the termination of
the project.

BACKUP AND RECOVER

In case of system crash a user may lose all his/her valuable To cope with
this problem backup option is given in this system data' This system
provides the facility of backup and recovery. Only an administrator can
take the backup and can recover all the files. system. To utilize this
facility user must have floppy drive on his or her

120
LIMITATION
This system is developed considering only one Insurance
Company, which means that the agent can maintain the details
of customers of only one company. He can enter the details of
other companies policy, but he will not be able to make a
distinction among the policies of different company. This is the
major limitation of this project. Only one Life Insurance
Company exists. This system is not implemented on-line. As the
system is not on-line, therefore customers cannot take the
reports regarding their policies as and when they require.

121
Conclusion
Existing LIC Database system do not provide facility to select
the particular policy by going through each policy details.
Customers has to be dependent on agent to get details on
particular policy. While taking any particular policy, customers
do not able to get information what will be the minimum
installment to be made and in what mode. Agent are also not
able to check their account any time as per their requirement and
the details of customers who have taken policy from them along
with their policy maturity date. The present system do not
provide the correct medium for the agents to know their
commissions which has been made while selling any particular
policy.

122
Happy Ending

 LIC is India's no. 1 insurance company

 Major stack in insurance Sector

 Largest no. of customers

 No. 1 brand for insurance of any kind

 Effective work force and best human capital

 Ideal choice for employee to work

123

Potrebbero piacerti anche