You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

645 lines
11 KiB
C++

Project - Employees Management System
#include<iostream.h>
#include<string.h>
#include<iomanip.h>
#include<dos.h>
#include<conio.h>
#include<stdio.h>
#define max 20
struct employee
{
char name[20];
long int code;
char designation[20];
int exp;
int age;
};
int num;
employee emp[max],tempemp[max],sortemp[max],sortemp1[max];
void main()
{
clrscr();
void build();
void list();
void insert();
void deletes();
void edit();
void search();
void sort();
char option;
void menu();
menu();
while((option=cin.get())!='q')
{
switch(option)
{
case 'b':
build();
break;
case 'l':
list();
break;
case 'i':
insert();
break;
case 'd':
deletes();
break;
case 'e':
edit();
break;
case 's':
search();
break;
case 'n':
sort();
break;
}
menu();
}
}
void menu()
{
clrscr();
highvideo();
cout<<" ";
cprintf("*****WelCome To Employee Data Centre*****
");
normvideo();
cout<<endl;
cout<<" ";
cout<<"Press b---->Built The Employee Table
";
cout<<" ";
cout<<"Press l---->List The Employee Table
";
cout<<" ";
cout<<"Press i---->Insert New Entry
";
cout<<" ";
cout<<"Press d---->Delete An Entry
";
cout<<" ";
cout<<"Press e---->Edit An Entry
";
cout<<" ";
cout<<"Press s---->Search Arecord
";
cout<<" ";
cout<<"Press n---->Sort The Table
";
cout<<" ";
cout<<"Press q---------->QUIT
";
cout<<" ";
cout<<"Option Please ----->";
}
void build()
{
clrscr();
highvideo();
cprintf("Build The Table
");
cout<<endl;
normvideo();
cout<<"maximum number of entries ----- > 20"<<endl;
cout<<"how many do you want ----->";
cin>>num;
cout<<"Enter The Following Items
";
for(int i=0;i<=num-1;i++)
{
cout<<" Name ";
cin>>emp[i].name;
cout<<"Code ";
cin>>emp[i].code;
cout<<"Designation ";
cin>>emp[i].designation;
cout<<"Years of Experience ";
cin>>emp[i].exp;
cout<<"Age ";
cin>>emp[i].age;
}
cout<<"going to main menu";
delay(500);
}
void list()
{
clrscr();
highvideo();
cprintf(" ********List The Table********");
cout<<endl;
normvideo();
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
for(int i=0;i<=num-1;i++)
{
cout<<setw(13)<<emp[i].name;
cout<<setw(6)<<emp[i].code;
cout<<setw(15)<<emp[i].designation;
cout<<setw(10)<<emp[i].exp;
cout<<setw(15)<<emp[i].age;
cout<<endl;
}
cout<<"going to main menu";
getch();
}
void insert()
{
clrscr();
int i=num;
num+=1;
highvideo();
cprintf("Insert New Record
");
cout<<endl;
normvideo();
cout<<"Enter The Following Items
";
cout<<"Name ";
cin>>emp[i].name;
cout<<"Code ";
cin>>emp[i].code;
cout<<"Designation ";
cin>>emp[i].designation;
cout<<"Years of Experience ";
cin>>emp[i].exp;
cout<<"Age ";
cin>>emp[i].age;
cout<<endl<<endl;
cout<<"going to main menu";
delay(500);
}
void deletes()
{
clrscr();
highvideo();
int code;
int check;
cprintf("Delete An Entry
");
normvideo();
cout<<endl;
cout<<"Enter An JobCode To Delete That Entry ";
cin>>code;
int i;
for(i=0;i<=num-1;i++)
{
if(emp[i].code==code)
{
check=i;
}
}
for(i=0;i<=num-1;i++)
{
if(i==check)
{
continue;
}
else
{
if(i>check)
{
tempemp[i-1]=emp[i];
}
else
{
tempemp[i]=emp[i];
}
}
}
num--;
for(i=0;i<=num-1;i++)
{
emp[i]=tempemp[i];
}
}
void edit()
{
clrscr();
int jobcode;
highvideo();
cprintf(" Edit An Entry ");
cout<<endl;
cout<<endl;
int i;
void editmenu();
void editname(int);
void editcode(int);
void editdes(int);
void editexp(int);
void editage(int);
char option;
normvideo();
cout<<"Enter An jobcode To Edit An Entry---- ";
cin>>jobcode;
editmenu();
for(i=0;i<=num-1;i++)
{
if(emp[i].code==jobcode)
{
while((option=cin.get())!='q')
{
switch(option)
{
case 'n':
editname(i);
break;
case 'c':
editcode(i);
break;
case 'd':
editdes(i);
break;
case 'e':
editexp(i);
break;
case 'a':
editage(i);
break;
}
editmenu();
}
}
}
}
void editmenu()
{
clrscr();
cout<<" What Do You Want To edit
";
cout<<" n--------->Name
";
cout<<" c--------->Code
";
cout<<" d--------->Designation
";
cout<<" e--------->Experience
";
cout<<" a--------->Age
";
cout<<" q----->QUIT
";
cout<<" Options Please ---->>> ";
}
void editname(int i)
{
cout<<"Enter New Name-----> ";
cin>>emp[i].name;
}
void editcode(int i)
{
cout<<"Enter New Job Code-----> ";
cin>>emp[i].code;
}
void editdes(int i)
{
cout<<"enter new designation-----> ";
cin>>emp[i].designation;
}
void editexp(int i)
{
cout<<"Enter new Years of Experience
";
cin>>emp[i].exp;
}
void editage(int i)
{
cout<<"Enter new Age
";
cin>>emp[i].age;
}
void search()
{
clrscr();
highvideo();
cprintf("Welcome To Search Of Employee Database
");
normvideo();
cout<<endl;
cout<<endl;
int jobcode;
cout<<"You Can Search Only By Jobcode Of An Employee
";
cout<<"Enter Code Of An Employee
";
cin>>jobcode;
for(int i=0;i<=num-1;i++)
{
if(emp[i].code==jobcode)
{
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
cout<<setw(13)<<emp[i].name;
cout<<setw(6)<<emp[i].code;
cout<<setw(15)<<emp[i].designation;
cout<<setw(10)<<emp[i].exp;
cout<<setw(15)<<emp[i].age;
cout<<endl;
}
}
cout<<"going to main menu";
getch();
}
void sort()
{
clrscr();
highvideo();
cprintf("Sort The Databse By JobCode
");
normvideo();
void sortmenu();
void sortname();
void sortcode();
void sortdes();
void sortexp();
char option;
void sortage();
cout<<endl;
cout<<endl;
sortmenu();
while((option=cin.get())!='q')
{
switch(option)
{
case 'n':
sortname();
break;
case 'c':
sortcode();
break;
case 'd':
sortdes();
break;
case 'e':
sortexp();
break;
case 'a':
sortage();
break;
}
sortmenu();
}
}
void sortmenu()
{
clrscr();
cout<<" What Do You Want To edit
";
cout<<" n--------->Name
";
cout<<" c--------->Code
";
cout<<" d--------->Designation
";
cout<<" e--------->Experience
";
cout<<" a--------->Age
";
cout<<" q----->QUIT
";
cout<<" Options Please ---->>> ";
}
void sortname()
{
clrscr();
int i,j;
struct employee temp[max];
for(i=0;i<=num-1;i++)
{
sortemp1[i]=emp[i];
}
for(i=0;i<=num-1;i++)
{
for(j=0;j<=num-1;j++)
{
if(strcmp(sortemp1[i].name,sortemp1[j].name)<=0)
{
temp[i]=sortemp1[i];
sortemp1[i]=sortemp1[j];
sortemp1[j]=temp[i];
}
}
}
for( i=0;i<=num-1;i++)
{
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
for( i=0;i<=num-1;i++)
{
cout<<setw(13)<<sortemp1[i].name;
cout<<setw(6)<<sortemp1[i].code;
cout<<setw(15)<<sortemp1[i].designation;
cout<<setw(10)<<sortemp1[i].exp;
cout<<setw(15)<<sortemp1[i].age;
cout<<endl;
}
cout<<"Press Any Key To Go Back";
getch();
} }
void sortcode()
{
clrscr();
int i,j;
struct employee temp[max];
for(i=0;i<=num-1;i++)
{
sortemp1[i]=emp[i];
}
for(i=0;i<=num-1;i++)
{
for(j=0;j<=num-1;j++)
{
if(sortemp1[i].code<sortemp1[j].code)
{
temp[i]=sortemp1[i];
sortemp1[i]=sortemp1[j];
sortemp1[j]=temp[i];
}
}
}
for( i=0;i<=num-1;i++)
{
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
for( i=0;i<=num-1;i++)
{
cout<<setw(13)<<sortemp1[i].name;
cout<<setw(6)<<sortemp1[i].code;
cout<<setw(15)<<sortemp1[i].designation;
cout<<setw(10)<<sortemp1[i].exp;
cout<<setw(15)<<sortemp1[i].age;
cout<<endl;
}
cout<<"Press Any Key To Go Back";
getch();
} }
void sortdes()
{
clrscr();
int i,j;
struct employee temp[max];
for(i=0;i<=num-1;i++)
{
sortemp1[i]=emp[i];
}
for(i=0;i<=num-1;i++)
{
for(j=0;j<=num-1;j++)
{
if(strcmp(sortemp1[i].designation,sortemp1[j].designation)<=0)
{
temp[i]=sortemp1[i];
sortemp1[i]=sortemp1[j];
sortemp1[j]=temp[i];
}
}
}
for( i=0;i<=num-1;i++)
{
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
for( i=0;i<=num-1;i++)
{
cout<<setw(13)<<sortemp1[i].name;
cout<<setw(6)<<sortemp1[i].code;
cout<<setw(15)<<sortemp1[i].designation;
cout<<setw(10)<<sortemp1[i].exp;
cout<<setw(15)<<sortemp1[i].age;
cout<<endl;
}
cout<<"Press Any Key To Go Back";
getch();
} }
void sortage()
{
clrscr();
int i,j;
struct employee temp[max];
for(i=0;i<=num-1;i++)
{
sortemp1[i]=emp[i];
}
for(i=0;i<=num-1;i++)
{
for(j=0;j<=num-1;j++)
{
if(sortemp1[i].age<sortemp1[j].age)
{
temp[i]=sortemp1[i];
sortemp1[i]=sortemp1[j];
sortemp1[j]=temp[i];
}
}
}
for( i=0;i<=num-1;i++)
{
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
for( i=0;i<=num-1;i++)
{
cout<<setw(13)<<sortemp1[i].name;
cout<<setw(6)<<sortemp1[i].code;
cout<<setw(15)<<sortemp1[i].designation;
cout<<setw(10)<<sortemp1[i].exp;
cout<<setw(15)<<sortemp1[i].age;
cout<<endl;
}
cout<<"Press Any Key To Go Back";
getch();
} }
void sortexp()
{
clrscr();
int i,j;
struct employee temp[max];
for(i=0;i<=num-1;i++)
{
sortemp1[i]=emp[i];
}
for(i=0;i<=num-1;i++)
{
for(j=0;j<=num-1;j++)
{
if(sortemp1[i].exp<sortemp1[j].exp)
{
temp[i]=sortemp1[i];
sortemp1[i]=sortemp1[j];
sortemp1[j]=temp[i];
}
}
}
for( i=0;i<=num-1;i++)
{
cout<<" Name Code Designation Years(EXP) Age
";
cout<<" ------------------------------------------------------
";
for( i=0;i<=num-1;i++)
{
cout<<setw(13)<<sortemp1[i].name;
cout<<setw(6)<<sortemp1[i].code;
cout<<setw(15)<<sortemp1[i].designation;
cout<<setw(10)<<sortemp1[i].exp;
cout<<setw(15)<<sortemp1[i].age;
cout<<endl;
}
cout<<"Press Any Key To Go Back";
getch();
} }