Program for Employee Management System

06 Sep, 2021
A Employee’s Management System (EMS) is a software built to handle the primary housekeeping functions of a company. EMS help companies keep track of all the employees and their records. It is used to manage the company using computerized system.
Aim of Employee’s Management System: 
Built The Employee Table.
Insert New Entries.
Delete The Entries.
Search A Record.
Data of the Employee’s:
Name 
Employee ID
Designation
Experience
Age
Approach:
For storing the data of the employee, create a user define datatype which will store the information regarding Employee. Below is the declaration of the data type:struct employee {
  string name;
  long int code;
  string designation;
  int exp;
  int age;
};

Building the Employee's table: For building the employee table the idea is to use the array of the above struct datatype which will use to store the information regarding employee. For storing information at index i the data is stored as:
struct employee emp[10];
emp[i].name = "GeeksforGeeks"
emp[i].code = "12345"
emp[i].designation = "Organisation"
emp[i].exp = 10
emp[i].age = 10
Deleting in the record: Since we are using array to store the data, therefore to delete the data at any index shift all the data at that index by 1 and delete the last data of the array by decreasing the size of array by 1.Searching in the record: For searching in the record based on any parameter, the idea is to traverse the data and if at any index the value parameters matches with the record stored, print all the information of that employee.
For storing the data of the employee, create a user define datatype which will store the information regarding Employee. Below is the declaration of the data type:struct employee {
  string name;
  long int code;
  string designation;
  int exp;
  int age;
};


struct employee {
  string name;
  long int code;
  string designation;
  int exp;
  int age;
};

Building the Employee's table: For building the employee table the idea is to use the array of the above struct datatype which will use to store the information regarding employee. For storing information at index i the data is stored as:
struct employee emp[10];
emp[i].name = "GeeksforGeeks"
emp[i].code = "12345"
emp[i].designation = "Organisation"
emp[i].exp = 10
emp[i].age = 10

struct employee emp[10];
emp[i].name = "GeeksforGeeks"
emp[i].code = "12345"
emp[i].designation = "Organisation"
emp[i].exp = 10
emp[i].age = 10

Deleting in the record: Since we are using array to store the data, therefore to delete the data at any index shift all the data at that index by 1 and delete the last data of the array by decreasing the size of array by 1.
Searching in the record: For searching in the record based on any parameter, the idea is to traverse the data and if at any index the value parameters matches with the record stored, print all the information of that employee.
Below is the implementation of Employee Management system in C:
C++
// C++ program for the above approach#include <bits/stdc++.h>  #define max 20using namespace std;  // Structure of Employeestruct employee {    string name;    long int code;    string designation;    int exp;    int age;};  int num;void showMenu();  // Array of Employees to store the// data in the form of the Structure// of the Arrayemployee emp[max], tempemp[max],    sortemp[max], sortemp1[max];  // Function to build the given datatypevoid build(){    cout << "Build The Table\n";    cout << "Maximum Entries can be "         << max << "\n";      cout << "Enter the number of "         << "Entries required";    cin >> num;      if (num > 20) {        cout << "Maximum number of "             << "Entries are 20\n";        num = 20;    }    cout << "Enter the following data:\n";      for (int i = 0; i < num; i++) {        cout << "Name ";        cin >> emp[i].name;          cout << "Employee ID ";        cin >> emp[i].code;          cout << "Designation ";        cin >> emp[i].designation;          cout << "Experience ";        cin >> emp[i].exp;          cout << "Age ";        cin >> emp[i].age;    }      showMenu();}  // Function to insert the data into// given data typevoid insert(){    if (num < max) {        int i = num;        num++;          cout << "Enter the information "             << "of the Employee\n";        cout << "Name ";        cin >> emp[i].name;          cout << "Employee ID ";        cin >> emp[i].code;          cout << "Designation ";        cin >> emp[i].designation;          cout << "Experience ";        cin >> emp[i].exp;          cout << "Age ";        cin >> emp[i].age;    }    else {        cout << "Employee Table Full\n";    }      showMenu();}  // Function to delete record at index ivoid deleteIndex(int i){    for (int j = i; j < num - 1; j++) {        emp[j].name = emp[j + 1].name;        emp[j].code = emp[j + 1].code;        emp[j].designation            = emp[j + 1].designation;        emp[j].exp = emp[j + 1].exp;        emp[j].age = emp[j + 1].age;    }    return;}  // Function to delete recordvoid deleteRecord(){    cout << "Enter the Employee ID "         << "to Delete Record";      int code;      cin >> code;    for (int i = 0; i < num; i++) {        if (emp[i].code == code) {            deleteIndex(i);            num--;            break;        }    }    showMenu();}  void searchRecord(){    cout << "Enter the Employee"         << " ID to Search Record";      int code;    cin >> code;      for (int i = 0; i < num; i++) {          // If the data is found        if (emp[i].code == code) {            cout << "Name "                 << emp[i].name << "\n";              cout << "Employee ID "                 << emp[i].code << "\n";              cout << "Designation "                 << emp[i].designation << "\n";              cout << "Experience "                 << emp[i].exp << "\n";              cout << "Age "                 << emp[i].age << "\n";            break;        }    }      showMenu();}  // Function to show menuvoid showMenu(){      cout << "-------------------------"         << "GeeksforGeeks Employee"         << " Management System"         << "-------------------------\n\n";      cout << "Available Options:\n\n";    cout << "Build Table         (1)\n";    cout << "Insert New Entry    (2)\n";    cout << "Delete Entry        (3)\n";    cout << "Search a Record     (4)\n";    cout << "Exit                (5)\n";      int option;      // Input Options    cin >> option;      // Call function on the bases of the    // above option    if (option == 1) {        build();    }    else if (option == 2) {        insert();    }    else if (option == 3) {        deleteRecord();    }    else if (option == 4) {        searchRecord();    }    else if (option == 5) {        return;    }    else {        cout << "Expected Options"             << " are 1/2/3/4/5";        showMenu();    }}  // Driver Codeint main(){      showMenu();    return 0;}
akshaysingh98088
khushboogoyal499
Arrays
Project
School Programming
Arrays
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Maximum and minimum of an array using minimum number of comparisons
Multidimensional Arrays in Java
Introduction to Arrays
Linear Search
Python | Using 2D arrays/lists the right way
SDE SHEET - A Complete Guide for SDE Preparation
Morse Code Translator In Python
Working with Images in Python
Simple Chat Room using Python
Working with zip files in Python