Employee Record System
Employee Record System
Employee Record System
OBJECTIVE
OF THE
PROJECT
The system analyst must be aware of exactly what the user requires from the new system.
That is management grades as objectives must be fully known and understood. After
reviewing the objectives of the current system. It is quite possible that he or she may be
aware of the computer capabilities that can be utilized to develop the system which can fulfill
the requirements. The main objectives of the proposed system are as follows:-
EXISTING SYSTEM
There are three main employees
1)
Permanent (P)
2)
Apparition (A)
3)
Temporary (T)
Each of this type consist of workers (W) and staff (S) on the basis at the pay employees are
categorized as:
CONSOLIDATED :
These employee are paid on consolidated bases DA is fixed for permanent workers, it
change every month on the basis at price index, which is announced on monthly basis by
directorate consumer's price index, in Shimla. These also includes P, A, T as well as S
categories.
EMPLOYEE'S NAME :
It stores the name of the employees.
FATHER'S NAME :
It stores the name of father.
EMPLOYEE ID :
Registration ID is the permanent control of the employee. It never changes or it
always remains constant. It always increased in sequences. If the new admission nos is
5
allocated to him will remain in sequence. If retirement and allocation takes place the same
registration no. can not be allocated to other.
DESIGNATION CODE :
It signifies the post of the employees. According to the post of the employee in the
organization a is given named as designation code.
BASIC PAY :
Basic pay is given according to the designation of the employees, grades of the
employees according to their designations are decided this also includes information
regarding the annual increments given the employees at the time of appointment starting
basic pay the scale is given. But with each year increment is given to the basic. It can be
moved maximum up to the upper limit of the pay scale.
EMPLOYEE'S NUMBER :
It is a number which is given to all employees. It works as identification no. of that
employee. It is unique for all employees. It is generated by computer with the addition of
each new employee.
PRODUCTION BONUS :
This is calculated on the basis of paper production every on machine no 1, 2, and 4
payable to all permanent employees.
Percent of this based on the basis Pay +DA. It declares on the basis of the production
incentive amount.
This is also production bones on the production or machine no. 5, 6 & 7 in specially
department. A pooled amount is distributed on the basis of basic pay + DA (employee's state
insurance).
All the workers who are drawing salary below Rs. 6500/- are covered as under ESI.
Employee contribute 2.25% share at the gross salary.
MEDICAL FUND :
At the rate of Rs. 5pm. it is deducted from all the employees fund created used for the
employee's phase' chronic diseases.
COMMON FUND :
This fund is created by the deduction at Rs.3/-pm for all permanent workers. This
provides interest free loan at the rate of Rs. 1000/-. It emergent cases like treatment of wife,
child, domestic problems etc. in case of death at workers to give relief for financial meet Rs.
1250/- is payable on the time of retirement. Money is also spent on blood banks and sports
from this fund.
ALLOWANCES :
There are different types of allowances given to both types of employee's these are :
Employees get three types of leaves in year. They get 8 sick leaves, 7 causal leaves
st
and 30 privilege leaves in a year. The year starts from April Ist to march 31 . there is no
extra payment to employee if they does not use their sick leaves and causal leaves within a
year.
FIXED BONUS :
Company announced bonus in his first annual general meeting. They provided bones
facilities to both types of employees. Company is liable to pay the fixed bonus to their
employees either company is going in profit or not.
BONUS ON PROFIT :
Bonus on profit means company announcer some percentage of their extra profit as
bonus which distributes in employees. Extra profit means that profit which is more than their
estimated profit. For egg if any company announced that they earned Rs. 1200000 in this
case company will distribute Rs. 200000 which is extra profit in their employees in that rate
which they announced company is not liable to pay bonus on profit. There are more
allowances given to both types of employees like cycle/scooter allowance, special allowance,
other allowances etc.
DEDUCTIONS :
There are different types of deductions made by company from salary payable to the
employees.
PROVIDENT FUND(PF) :
Company deducts some part of employees salary as a provident fund. When the
employee retired from the company, company returns his/her provident fund with interest.
INCOME TAX :
Management deducts income tax from employee's salaries and gives to govt. Income
tax deduct only those employees who get gross salary more then Rs. 60000 per year. Income
tax deducts on the basis of income tax rates
EMPLOY SAFETY INSURANCE :
Company provides ESI facilities to its employees. For providing this facility deduct
some part of employees salary, company deduct 1.75% of gross salary as ESI of those
employees whose gross salary is less than Rs. 6500.
DEDUCTION OF LOANS :
If any employee has taken loan from company, company deducts some part of his/her
salary as loan installment with interest. Company also deducts electricity charges, guest
house charges club dues etc.
WAGE ACCOUNTING :
An important feature of all business organization is that it employs people and makes
a workforce. The workforce consists of people of wide range of skills as manual, technical
and managerial. The common factor of the entire workforce is their demand to be paid for
their efforts and hence it makes the existence of personal administration system. This system
9
will have well organized employee record system system. This system provides information
regarding the employee's personal attributes, capabilities and terms of employment. The
employee record system system is means of knowing how much to pay each employee at
each occasion and of accounting for the monies. Employee record
system may be
10
net amount. It also contains employee's number name department, name tax code, national
insurance number and date.
Audit and Control Documents :
Employee record
involved. The various documents described above need to be supplemented by nets of totals
so that if as discrepancy arises it are not too difficult to trace. This is particularly important
where cash is involved.
Wages Records :
It is important to maintain a record for each employee containing full absolutely full
accurate details of pay details. The record must be kept into date in terms of amendments as
well as updating of totals to date. Amendments include changes in gross wages, tax code,
and
department bank and so on.
11
LIMITATION OF
EXISTING
SYSTEM
Initially before coming up of computers, the data processing activities face many problems
such as inaccuracy, inefficiency, delay and improper record maintain.
Current status: In the existing system, if user wants to see what is current status of
appointments and information about friends than it is difficult to see and maintain this
manually.
Duplication: In the existing system, all the data is maintained in different files and registers.
This often leads to data duplication and redundancy in the stored data. Thus leading to
wastage of storage of space.
Inaccuracy: In the existing system information about appointments and personal information
about friends can be inaccurate, which results in to slow access to the desired information.
The inaccuracy which is caused is due to manual storage of data.
Inconsistency: Presently the system is not aware of the duplication of data, they are
maintaining the record manually which results in the total being in excess of what it should
be. In such situation, the data is said to be inconsistent, which supplies incorrect information.
Problem of updation: In the manual system, since every thing is stored in the diary, it is
quite difficult and time consuming to update the records. The major problem is the
modification that must be reflected in all the entries
and summarizes also needed to be updated.
12
13
14
Testing Phase
It includes the conformance of the acceptance criteria set down in the customer requirements
specification.
Integration Phase
It requires the integration of the various modules developed in the project implementation
phase into the main project module.
A) Input design
B) Output design
C) File design
D) System flow chart
These phases are performed in a sequence called steps which are simply defining the growth
of project at design/run time.
Input design
An input is a raw data having movement towards the cpu input files specify the addition for
unique code with a detailed information and also permits about modification and removal of
existing records from the data base. In my project the following inputs are required for the
maintenance of employee record system. The input required are as follows :
1. Code of employee
2. Name of employee
3. Address of employee
4. City name of employee
5. Pincode of employees city
6. Phone number of employee
7. Designation of employee
8. Sex of employee
9. Whether the HRA is provided
10. Whether the Conveyance Allowance is provided
11. Basic salary of employee
12. Pf of employee
15
Output design
Output has been designed after rectification in the manual outputs formats as shown in
reports. In my project the displayed figures with colours is the output given to user.
In c by using different formatting library functions we are able to generate at specified
mannered output for end user
ADDITION OF NEW EMPLOYEE
Employee Code # 3
~~~~~~~~~~~~~~~~~~~~~
Name
: AMIT MALIK
........ Sex (M/F) : M
Address : JDH
........ City : YNR
Pin Code : 135001
Phone No. : 225533
---------------------------------------------------------------------------JOINING DATE
Day : 2
Month : 2
Year : 1998
---------------------------------------------------------------------------Designation : SR
---------------------------------------------------------------------------Accomodation (y/n) : Y
Conveyance (y/n) : Y
---------------------------------------------------------------------------Basic Salary
(Rs) : 5000
Provident Fund
(%) : 10
Daily Allowance
(%) : 8
House Rent Allowance
(%) : 6 ...
Conveyance Allowance
(%) : 15
Do you wish to save (y/n) :y
16
File design
This is the most important part of the system design. System design is based system analysis.
This phase of designing shows the process of data files used to store required data in a
desired format on secondary storage devices all the bits represent the length of fields where
each field is terminated at its length and next to this each record terminated either by fixed
length or by eol (end of line) pointer. The following are the files which are used to store the
record of each person
struct employee
{
int empcode, dd, mm, yy ;
char empname[31], empaddress[31], empcity[21], emppin[7] ;
char empphone[10], empdesig[21] ;
char emphouse, empconv, empsex ;
float empbasic, emppf, emphra, empca,empda;
};
int Emp_Fcode (int) ;
int Valid_Date (int, int, int) ;
void Emp_Display (int) ;
17
Employee info
Deductions Etc.
Reports
18
FEASIBILITY ANALYSIS
The feasibility is necessary to determine whether the proposed system is feasible
considering the technical, operational and economic factor.
Technical
Feasibility :
Technical Feasibility is related with the required hardware and software's availability in
the market domain. For proper implementation of any system, it should be technical
feasible.
Economic
Feasibility :
Security is essential requirement for any system. Leakage in security can result to
huge losses. The proposed system guarantees security by means of authentication,
the data integrity and thus it is economic feasible.
Operational
Feasibility :
The system has a GUI interface, which interacts with the user hiding the internal
complexity of the system. The proposed system is used and hence the system is feasible
operationally.
TRANSACTION OF READING
PROCESSING OF BILL
PROCESS CHART
START
END
24
In this proposed project the following are the proposed options run this project of MOBILE
CUSTOMER DATABASE. I proposed to
Hardware Requirements
At least 32 MB RAM Preferred
Hard disk of size 8 GB or Above
SVGA Card
Monitor Mono VGA\Color SVGA (Preferred)
Keyboard
CD Drive
Floppy Drive
Software Requirements
Operating System : Dos 6.22 or win 98 preferred
MS-office 97 or Above
C Languate
DETAILED DESIGN
During detailed design, the internal logic of each of these modules specified in the
system design is decided. During this phase further details of data structures and algorithmic
design of each of the modules is specified. The logic of a module is specified in a high-level
design description language, which is independent of the target language in which software
will eventually be implemented.
The detailed design consists of data design, architectural design, interface design, component
level design.
DATA DESIGN (E-R DIAGRAMS)
The data design transforms the information domain model created during analysis
into the data structures, which will be required to implement the software. The data objects
and the relationships defined in the entity relationship diagram and the detailed data content
depicted in the data dictionary provides the basis for the data design activity.
FDDFL
EMPLOYEE
ADDRESS
CITY
STATE
LAST NAME
ZIP
FIRST NAME
CUSTOMER ID
PHONE
CUSTOMER
DESCRIPTION
INCIDENT PLACE
BUS STOP
STATUS
INCIDENT DATE
CLOSURE DATE
SOURCE
VALIDITY
DATE
CORRECTIVE ACTION
FBID
ACTION DATE
FEEDBACK
Attribute of the FEEDBACK Entit
PROPOSED SYSTEM
1.
The need of computerized employees record system in any company in any company
is prompted by the fact that employee record is exhaustive, monotonous, laborious
and time consuming process. Preparation of monthly employee record
involves
repetitive calculations. The volume of which grows with the no. of employees and
everything here and there. There are many other reports, posting in the financial
ledger and numerous year end reports which constitute the major and most significant
part of the employee record .
2.
The employee record system has been developed to cater the requirement of the
organization, adequate checks and controls have been provided to ensure the accuracy
of the reports.
3.
YEARLY REPORTS:
Provision to keep employee wise year to date figures for all earnings and deductions.
Year to date figures are stored separately for financial year and income tax year.
4.
APPEARS:
The packager has provision for arrears due to excess or short payments. The user
needs to give only the arrears days and the month for which arrears are paid or
deducted. PF and ESI are calculated on the arrears as applicable.
5.
CONTROLS:
Elaborate checks ad controls are provided in the system. Extensive totals in each
report check the accuracy for full employee record operation every month.
6.
OTHER HIGHLIGHTS:
Separate pay sheets are printed for payments by cash and thorough bank. Bank
statement is printed which can be sent to the bank for advising salary to be deposited
in the employees account. Provision for cost center wise analysis of salary expenses.
Complete integration with financial accounting system the salary voucher is
generated on the computer which provides for center wise and division wise postings.
Varity of statuary and operating reports are generated.
34
|Pankaj
CODING
#include <graphics.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>
void statusbar(char[]) ;
void getlinedelchar(char *, int, int, int *) ;
void getline(char *, int) ;
void box(int row1, int column1, int row2, int column2, char c)
{
char ch=218 ;
char c1, c2, c3, c4 ;
char l1=196, l2=179 ;
if (c == ch)
{
c1 = 218 ;
c2 = 191 ;
c3 = 192 ;
c4 = 217 ;
l1 = 196 ;
l2 = 179 ;
}
else
{
c1 = c ;
36
|Pankaj
c2 = c ;
c3 = c ;
c4 = c ;
l1 = c ;
l2 = c ;
}
gotoxy(row1,column1) ;
printf ("%c",c1) ;
gotoxy(row2,column1) ;
printf ("%c",c2) ;
gotoxy(row1,column2) ;
printf ("%c",c3) ;
gotoxy(row2,column2) ;
printf ("%c",c4) ; row1+
+;
row2-- ;
lineh(row1, row2, column1, l1) ;
lineh(row1, row2, column2, l1) ;
row1-- ;
row2++ ;
column1++ ;
column2-- ;
linev(column1,column2,row1,l2) ;
linev(column1,column2,row2,l2) ;
}
void Design_Screen()
{
int gd=DETECT, gm ;
int t,i;
long int k,m,j;
initgraph(&gd, &gm, "\\turboc3") ;
setcolor(LIGHTGRAY) ;
rectangle(0, 0, getmaxx(), getmaxy()) ;
setfillstyle(SOLID_FILL, LIGHTGRAY) ;
floodfill(getmaxx()/2, getmaxy()/2, LIGHTGRAY) ;
for( t = 1; t < 115; t++)
{
setcolor(DARKGRAY) ;
for( m = 0; m < 103000.0; m++) ;
37
|Pankaj
rectangle(getmaxx()/2-t-150,
getmaxy()/2+t,
getmaxx()/2+t+150,
getmaxy()/2-t) ;
}
setcolor(BLUE) ;
settextstyle(3, HORIZ_DIR, 4) ;
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(160+i, 40.0+k, "EMPLOYEE HRM MAINTENANCE" ) ;
for(j = 0; j < 250; j++)
for(k = 0; k < 40000.0; k++) ;
for(i = 1; i < 200; i++)
{
setcolor(LIGHTRED) ;
settextstyle(GOTHIC_FONT, HORIZ_DIR, 4) ;
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(0+i, getmaxy()/2-10, "Developed by : " ) ;
for( j = 0; j < 100; j++) ;
setcolor(BLACK) ; settextstyle(GOTHIC_FONT,
HORIZ_DIR, 5) ; settextjustify(CENTER_TEXT,
CENTER_TEXT) ; outtextxy(0+i, getmaxy()/2-10,
"Developed by : " ) ;
}
setcolor(LIGHTRED) ;
settextstyle(GOTHIC_FONT, HORIZ_DIR, 5) ;
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(0+i, getmaxy()/2-10, "Developed by : " ) ;
for(j = 0; j < 250; j++)
for(k = 0; k < 40000.0; k++);
for(i = 1; i < 300; i++)
{
setcolor(GREEN); settextstyle(GOTHIC_FONT,
HORIZ_DIR, 4); settextjustify(CENTER_TEXT,
CENTER_TEXT); outtextxy(0+i, getmaxy()/2+50,
"" );
for( j = 0; j < 100; j++); setcolor(BLACK);
settextstyle(GOTHIC_FONT, HORIZ_DIR, 5);
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(0+i, getmaxy()/2+50, "" );
}
setcolor(GREEN); settextstyle(GOTHIC_FONT,
HORIZ_DIR, 5); settextjustify(CENTER_TEXT,
CENTER_TEXT); outtextxy(0+i, getmaxy()/2+50,
"" );
for(j = 0; j < 250; j++)
for(k = 0; k < 40000.0; k++) ;
for(i = 1; i < 315; i++)
{
setcolor(LIGHTRED) ;
settextstyle(GOTHIC_FONT, HORIZ_DIR, 5) ;
39
|Pankaj
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(0+i, getmaxy()/2+95, "" ) ;
for( j = 0; j < 10000; j++) ;
setcolor(BLACK) ;
settextstyle(GOTHIC_FONT, HORIZ_DIR, 5) ;
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(0+i, getmaxy()/2+95, "" ) ;
}
setcolor(LIGHTRED) ;
settextstyle(GOTHIC_FONT, HORIZ_DIR, 5) ;
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(0+i, getmaxy()/2+95, "" ) ;
for(j = 0; j < 250; j++)
for(k = 0; k < 40000.0; k++) ;
for(i = 1; i < 450; i++)
{
setcolor(GREEN) ; settextstyle(GOTHIC_FONT,
HORIZ_DIR, 5) ; settextjustify(CENTER_TEXT,
CENTER_TEXT) ; outtextxy(0+i,
getmaxy()/2+140, "" ) ;
for( j = 0; j < 100; j++) ; setcolor(BLACK) ;
settextstyle(GOTHIC_FONT, HORIZ_DIR, 4) ;
settextjustify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(0+i, getmaxy()/2+140, "BHAWNA" ) ;
}
setcolor(GREEN) ; settextstyle(GOTHIC_FONT,
HORIZ_DIR, 5) ; settextjustify(CENTER_TEXT,
CENTER_TEXT) ; outtextxy(0+i,
getmaxy()/2+140, "BHAWNA ") ;
for(j = 0; j < 500; j++)
for(k = 0; k < 40000.0; k++) ;
for(i = 0; i < 550; i++)
{
for( j = 0; j < 50000.0; j++) ;
setcolor(BLACK) ;
rectangle(0+i, 0, 100+i, getmaxy()) ;
}
closegraph() ;
}
int vertical_menu(char menu[] [20], int present, int end, int x, int y)
{
40
|Pankaj
int ex=0 ;
int i;
char ch;
box(x + 9, y, x + strlen(menu[0]) + 12, y + end + 1, 218) ;
for ( i=0; i<end; i++)
{
gotoxy(x + 10, y + i + 1) ;
printf ("%s",menu[i]) ;
}
do
{
int tpresent = present ;
textcolor(BLACK) ;
textbackground(WHITE) ;
gotoxy(x + 10,y + present) ;
cprintf(menu[present - 1]) ;
textcolor(WHITE) ;
textbackground(BLACK) ;
ch = getch() ;
switch (ch)
{
case 75 : if (present == 1) else present = end ;
break ; present-- ;
case 77 : if (present == end)
else
present = 1 ;
break ; present++ ;
case 71 : present = 1 ;
break ;
case 79 : present = end ;
case 72 : if (present == 1) else
break ;
case 80 : if (present == end)
41
|Pankaj
break ;
present = end ;
present-- ;
else
break ;
case 13 : ex = 1 ;
present = 1 ;
present++ ;
break ;
int horizontal_menu(char menu[] [20], int present, int end, int x, int y)
{
int ex=0, i ;
char ch;
for (i = 0; i < end; i++)
{
gotoxy(x + (i + 2) * 10 - 5, y) ;
printf ("%s",menu[i]);
}
lineh(1, 80, 2, 205) ;
do
{
int tpresent = present ;
textcolor(BLACK) ;
textbackground(WHITE) ;
gotoxy(x + (present + 1) * 10 - 5, y) ;
cprintf(menu[present - 1]) ;
textcolor(WHITE) ;
textbackground(BLACK) ;
ch = getch() ;
switch (ch)
{
case 71 : present = 1 ; break ;
case 79 : present = end ;
break ;
42
|Pankaj
present = end ;
present-- ;
present = 1 ;
present++ ;
present = end ;
present-- ;
else
break ;
case 13 : ex = 1 ; break ;
present = 1 ;
present++ ;
void Emp_Help()
{
clrscr();
printf ("\n\n\n\t\t\tEMPLOYEE HRM - Manager ");
printf ("\n\nPay - Manager is a full fledged human resource management system ");
printf ("\n\n\n 1) Important instructions are displayed at the status bar at the ");
43
|Pankaj
void main_menu()
{
int end=5, present=1, upperlim1=5, currentpos1=1, upperlim2=3, currentpos2=1,
upperlim3=4, currentpos3=1;
char main[] [20] = { " FILE ", " EDIT ", " PRINT ", " HELP ", " EXIT " } ;
char sub1[] [20] = { "New Employee ", "Display Info ", "Display List ", "Salary Slip
", "Return
"};
char sub2[] [20] = { "Modify Employee ", "Delete Employee ", "Return
"};
char sub3[] [20] = { "Employee Info ", "Employee List ", "Salary Slip ", "Return
"};
Design_Screen() ;
do
{
_setcursortype(_NOCURSOR) ;
present = horizontal_menu(main, present, end, 3, 1) ;
switch (present)
{
case 1 : currentpos1 = vertical_menu(sub1, currentpos1,
upperlim1, 3, 3) ;
switch (currentpos1)
{
case
_setcursortype(_SOLIDCURSOR) ;
Emp_Add() ;
_setcursortype(_NOCURSOR) ;
break ;
44
|Pankaj
case
_setcursortype(_SOLIDCURSOR) ;
displaycode() ;
break ;
case 3 :
Emp_Showlist() ;
break ;
case
_setcursortype(_SOLIDCURSOR) ;
Emp_Salslip() ;
_setcursortype(_NOCURSOR) ;
break ;
}
clrscr() ;
break ;
_setcursortype(_SOLIDCURSOR) ;
Emp_Modify() ;
_setcursortype(_NOCURSOR) ;
break ;
case
_setcursortype(_NORMALCURSOR) ;
Emp_Del() ;
_setcursortype(_NOCURSOR) ;
}
clrscr() ;
break ;
45
|Pankaj
break ;
_setcursortype(_SOLIDCURSOR) ;
displaycode() ;
Emp_Print(1,1,80,23) ;
_setcursortype(_NOCURSOR) ;
break ;
case
_setcursortype(_NORMALCURSOR) ;
Emp_Showlist() ;
Emp_Print(1,1,80,23) ;
_setcursortype(_NOCURSOR) ;
break ;
case
_setcursortype(_NORMALCURSOR) ;
Emp_Salslip() ;
Emp_Print(1,1,80,23) ;
_setcursortype(_NOCURSOR) ;
}
clrscr() ;
break ;
case 4 : Emp_Help() ;
}
} while (present != end);
}
46
|Pankaj
clrscr() ;
break ;
break ;
days = 29 ;
days = 28 ;
47
|Pankaj
break ;
case 3 : days = 31 ;
break ;
case 4 : days = 30 ;
break ;
case 5 : days = 30 ;
break ;
case 6 : days = 31 ;
break ;
case 7 : days = 31 ;
break ;
case 8 : days = 31 ;
break ;
case 9 : days = 30 ;
break ;
case 10 : days = 31 ;
break ;
case 11 : days = 30 ;
break ;
case 12 : days = 31 ;
break ;
default : valid = 0 ;
break ;
}
if ((dd > 0) && (dd <= days))
valid = 1 ;
else valid = 0 ;
return (valid) ;
}
FILE *file ;
struct employee t ;
char *initial ;
file = fopen("Employee.Dat", "rb+") ;
while (fread(&t, sizeof(struct employee),1,file))
{
if (t.empcode == code)
{
gotoxy(28,2) ;
printf ("EMPLOYEE INFORMATION");
if (t.empsex == 'F')
initial = "Ms. ";
else initial = "Mr. ";
gotoxy(30,3) ;
printf ("EMPLOYEE CODE # %d",t.empcode) ;
lineh(2,79,4,240) ;
gotoxy(20,6) ;
printf ("Name
: %s %s",initial,t.empname) ;
gotoxy(20,7) ;
printf ("Address
: %s" ,t.empaddress );
gotoxy(40,8);
printf ("%s - %s",t.empcity,t.emppin );
gotoxy(20,9) ;
printf ("Contact No.
: %s" ,t.empphone );
gotoxy(20,11) ;
printf ("Date Of Joining :%d - %d - %d ",t.dd,t.mm,t.yy );
gotoxy(20,13) ;
printf ("Designation
: %s",t.empdesig) ;
gotoxy(20,15) ;
printf ("Accomodation Provided : %c",t.emphouse) ;
gotoxy(20,16) ;
printf ("Conveyance Provided : %c",t.empconv) ;
gotoxy(20,17) ;
printf ("Basic Salary : Rs. %.2f",t.empbasic) ;
gotoxy(20,18) ;
printf ("Provident Fund : Rs. %.2f",(t.emppf/100)*t.empbasic) ;
gotoxy(20,19) ;
printf ("Daily Allowance : Rs. %.2f",(t.empda/100)*t.empbasic) ;
gotoxy(20,20) ;
printf ("Housing Allowance : Rs. %.2f",(t.emphra/100)*t.empbasic) ;
gotoxy(20,21) ;
printf ("Conveyance Allow : Rs. %.2f" ,(t.empca/100)*t.empbasic) ;
lineh(2,79,22,240) ;
}
}
49
|Pankaj
struct employee t ;
float hra=0, ca=0, pf=0, ot=0, advance=0, allowance=0, deduction=0, netsalary=0 ;
long float da = 0;
int code, valid=0, days, hours ;
int year ;
char tdays[3], thours[4], tadvance[6], month[10] ;
clrscr() ;
gotoxy(72,2) ;
printf ("<0>=EXIT");
gotoxy(5,5) ;
printf ("Enter code of the struct employee : ");
scanf ("%d",&code) ;
if (code == 0)
return ;
if (!Emp_Fcode(code))
{
clrscr() ;
gotoxy(30,25) ;
printf ("\a Record not found");
getch() ;
return ;
}
clrscr() ;
gotoxy(5,8) ;
printf ("Enter month for which SALARY SLIP is to be generated : ");
scanf ("%s",&month) ;
gotoxy(5,11) ;
printf ("Enter year for which SALARY SLIP is to be generated : ");
scanf ("%d",&year) ;
clrscr() ;
file = fopen("Employee.Dat", "rb+") ;
while (fread(&t, sizeof(struct employee),1,file)==1)
{
if (t.empcode == code)
break ;
}
fclose(file) ;
lineh(1,80,1,223) ;
linev(1,23,1,222) ;
linev(1,23,79,222) ;
lineh(1,80,23,223) ;
gotoxy(32,2) ;
50
|Pankaj
_setcursortype(_SOLIDCURSOR) ;
struct employee t ;
float hra=0, ca=0, pf=0, ot=0, advance=0, allowance=0, deduction=0, netsalary=0 ;
long float da = 0;
int code, valid=0, days, hours ;
int year ;
char tdays[3], thours[4], tadvance[6], month[10] ;
clrscr() ;
gotoxy(72,2) ;
printf ("<0>=EXIT");
gotoxy(5,5) ;
printf ("Enter code of the struct employee : ");
scanf ("%d",&code) ;
if (code == 0)
return ;
if (!Emp_Fcode(code))
{
clrscr() ;
gotoxy(30,25) ;
printf ("\a Record not found");
getch() ;
return ;
}
clrscr() ;
gotoxy(5,8) ;
printf ("Enter month for which SALARY SLIP is to be generated : ");
scanf ("%s",&month) ;
gotoxy(5,11) ;
printf ("Enter year for which SALARY SLIP is to be generated : ");
scanf ("%d",&year) ;
clrscr() ;
file = fopen("Employee.Dat", "rb+") ;
while (fread(&t, sizeof(struct employee),1,file)==1)
{
if (t.empcode == code)
break ;
}
fclose(file) ;
lineh(1,80,1,223) ;
linev(1,23,1,222) ;
linev(1,23,79,222) ;
lineh(1,80,23,223) ;
52
|Pankaj
gotoxy(32,2) ;
printf ("BALLARPUR INDS. LTD.");
lineh(3,78,3,175) ;
gotoxy(24,4) ;
printf ("SALARY SLIP - %s . %d",month,year) ;
lineh(3,78,5,196) ;
gotoxy(4,6) ;
printf ("Employee Name : %s",t.empname) ;
gotoxy(48,6) ;
printf ("Designation : %s",t.empdesig) ;
box(4,7,76,21,218) ;
do
{
valid = 1 ;
statusbar(" ENTER NO. OF DAYS WORKED IN THE MONTH ") ;
_setcursortype(_SOLIDCURSOR) ;
gotoxy(25,10) ;
printf ("No. of Days Worked : ");
getline(tdays,2) ;
days = atoi(tdays) ;
if (tdays[0] == 27)
return ;
if (days > 26)
{
valid = 0 ;
statusbar("\a CANNOT BE GREATER THAN 26 ") ;
getch() ;
_setcursortype(_SOLIDCURSOR) ;
}
} while (!valid) ;
do
{
valid = 1 ;
statusbar(" ENTER NO. OF HOURS WORKED OVER TIME ") ;
_setcursortype(_SOLIDCURSOR) ;
gotoxy(25,12) ;
printf ("Overtime hours : ");
getline(thours,3) ;
hours = atoi(thours) ;
if (thours[0] == 27)
return ;
if (hours > 41)
{
valid = 0 ;
statusbar("\a MORE THAN 40 Hrs. OVERTIME NOT
PERMITTED ") ;
53
|Pankaj
getch() ;
}
} while (!valid) ;
do
{
valid = 1 ;
statusbar(" ENTER AMOUNT TAKEN AS ADVANCE ") ;
_setcursortype(_SOLIDCURSOR) ;
gotoxy(25,14) ;
printf ("Advance amount (Rs): ");
getline(tadvance,6) ;
advance = atof(tadvance) ;
if (tadvance[0] == 27)
return ;
if (advance > t.empbasic)
{
valid = 0 ;
statusbar("\a ADVANCE CANNOT BE GREATER THAN
BASIC PAY ") ;
getch() ;
_setcursortype(_SOLIDCURSOR) ;
}
}while (!valid) ;
_setcursortype(_NOCURSOR) ;
gotoxy(25,10) ;
printf ("
gotoxy(25,12) ;
printf ("
gotoxy(25,14) ;
printf ("
");
");
");
gotoxy(7,8) ;
printf ("BASIC SALARY
gotoxy(7,10) ;
printf ("ALLOWANCE");
gotoxy(9,11) ;
printf ("Daily Allowance
: Rs.");
gotoxy(9,12) ;
printf ("Over Time
: Rs.");
gotoxy(9,13) ;
printf ("Conveyance Allowance : Rs.");
gotoxy(9,14) ;
printf ("House Rent Allowance : Rs.");
gotoxy(7,16) ;
54
|Pankaj
: Rs.");
printf ("DEDUCTIONS");
gotoxy(9,17) ;
printf ("Provident Fund
: Rs.");
gotoxy(9,18) ;
printf ("Advance Taken
: Rs.");
gotoxy(9,20) ;
printf ("N E T S A L A R Y
: Rs.");
window(1,24,80,25) ;
textcolor(BLACK) ;
textbackground(WHITE) ;
cprintf(m) ;
clreol() ;
window(1,1,80,24) ;
textcolor(WHITE) ;
textbackground(BLACK) ;
}
{
case 75 : if (curx>0) {
curx-- ;
gotoxy(wherex()1,wherey()) ;
}
break ;
case 77 : if (curx<i)
{
curx++ ;
gotoxy(wherex()+1,wherey()) ;
}
break ;
case 83 : if (i>0)
{
if (curx<i)
{
getlinedelchar(s,col,curx + 1,&i) ;
gotoxy(col + curx,wherey()) ;
if (i == 0)
s[i] = 0 ;
}
}
}
break ;
case 8 : if (curx>0)
{
getlinedelchar(s,col,curx,&i) ;
gotoxy(col + curx - 1,wherey()) ;
curx-- ;
if (i == 0)
s[i] = 0 ;
}
break ;
case 13 : done = 1 ;
s[i] = 0 ;
break ;
case 27 : done = 1 ;
58
|Pankaj
s[0] = '0' ;
break ;
default : if (i < limit)
if (curx < i)
{
s[curx] = ch ;
printf ("%c",ch) ;
curx++ ;
else
{
s[i] = ch ;
printf ("%c",ch) ;
i++ ;
curx = i ;
}
}
else
s[i] = 0 ;
}
}while (!done) ;
printf ("\n");
}
59
|Pankaj
OUTPUT
60
|Pankaj
FILE
-------------------------------------------------------------------------------+---------------+
New Employee
Display Info
Display List
Salary Slip
Return
+---------------+
EDIT
61
|Pankaj
HELP
EXIT
62
|Pankaj
EMPLOYEE INFORMATION
EMPLOYEE CODE # 3
Name
Mr.
Address
JDH
Contact No.
AMIT MALIK
Date Of Joining :
2 - 2 - 1998
Designation
SR
YNR - 135001
225533
Accomodation Provided : Y
Conveyance Provided : Y
Basic Salary : Rs. 5000.00
Provident Fund : Rs. 500.00
Daily Allowance : Rs. 400.00
Housing Allowance : Rs. 300.00
Conveyance Allow : Rs. 750.00
63
|Pankaj
2
CHINTU GANDHI
SR
3
AMIT MALIK
SR
64
|Pankaj
_
_
_ _
_ ----------------------------------------------------------------------------_
_ Employee Name : AMIT MALIK
Designation : SR
_
_ +-----------------------------------------------------------------------+ _
_ BASIC SALARY
: Rs. 5000.00
_
_
_
_ ALLOWANCE
_
_ Daily Allowance
: Rs. 400.00
_
_ Over Time
: Rs. 625.00
_
_ Conveyance Allowance : Rs. 750.00
_
_ House Rent Allowance : Rs. 300.00 : Rs. 7075.00
_
_
_
_ DEDUCTIONS
_
_ Provident Fund
: Rs. 500.00
_
_ Advance Taken
: Rs. 200.00 : Rs. 700.00
_
_ --------------------------------------------------------------------- _
_ N ET S A LAR Y
: Rs. 6375.00
_
_ +-----------------------------------------------------------------------+ _
_
_
ENTER AMOUNT TAKEN AS ADVANCE
65
|Pankaj
<0>=EXIT
Name
Address
: Mr.
AMIT MALIK
: JDH
YNR - 135001
Contact No.
: 225533
Date Of Joining :2 - 2 - 1998
Designation
: SR
Accomodation Provided : Y
Conveyance Provided : Y
Basic Salary : Rs. 5000.00
Provident Fund : Rs. 500.00
Daily Allowance : Rs. 400.00
Housing Allowance : Rs. 300.00
Conveyance Allow : Rs. 750.00
Do you wish to modify this record (y/n)
66
|Pankaj
67
|Pankaj
68
|Pankaj
69
|Pankaj
70
|Pankaj
71
|Pankaj
67
72
|Pankaj
73
|Pankaj
74
|Pankaj
75
|Pankaj
76
|Pankaj
77
|Pankaj
LIMITATIONS OF SYSTEM
Data file would show you an error if the input data in not as you have defined under
data types. For example if we need to calculate the gross salary after all the mentioned
deductions and allowances and if the gross salary in Float type then it would give you an
incorrect result. In this project whenever you append a new record the previous records are
lost.
As the whole processing/computation of the employees salary in done through codes
of the employees, and also as there are no checks on codes of employees therefore access to
security in denied hereby and hence any one can perform operations as modify existing
records, delete any record etc. The project does not provide any graphical representation.
78
|Pankaj
FURTHER SCOPE
The further scope the project can be as follows :
The software can be superimposed with the website of the company, therefore all information
about the flow of data can be made aware on company's website.
A supplement solution for financial data can be easily added to the present project.
Project can work on e-commerce based system.
In existing Employee information system work is done manually. This system involves a lot of
bookwork. This system is useful for small organization but in large organization it is very
difficult. A lot of manpower is involved in this system. In a company, very large no. of
employee is working so if this system is done manually it will be very complicated.
With existing system, entries for different employee, their payment module etc. Has to be
performed in different registers. Therefore a lot of time is consumed to perform this work. Also
manual work has accessible error in it. Data stored in registers cann ot maintain for long
period of time & a lot of time is to be consumed in searching a particular record. In existing
System, the chances of inaccuracy & duplicity will be
more.
79
|Pankaj
CONCLUSION
In this process is very fast because of the use of the computer checking, issue, receipts,
and report preparation are some of the fields where advantages of the speed can be
encaused. Large memory is one of the advantages of computer. In this system storing a
large number of records encases this advantage. Accuracy of calculation is another
advantage of the computer. In these system records of customers updating is performed
accurately using computers. Since records in computers are stored on electronic media.
Paper work is reduced with the use of computers.
We get all details about canteen with few key movements. It provides prompt details
about the order placed and bill generate.
Security mechanism will be provided in our project. If anyone want to use our project,
it is necessary to know the username and password.
|Pankaj
80
80
REFERENCES
While making this project, I have referred the following books for getting an idea to make
this project and also for understanding the complete C language. The names of the authors of
the books referred by me are as:
S. No.
Book name
Author name
Let us c
Yashavant Kanetkar
Data Structure in c
Robert L.Kruse
Bruce P.Leung
Clovis L.Tondo
S. No.
Websites
www.wikipedia.com
2.
www.cproject.com
3.
www.scribd.com