Introduction
In this guide, we will create a simple employee database using C++ that performs CRUD (Create, Read, Update, Delete) operations. CRUD operations are essential for interacting with databases in modern applications, and they allow us to manage employee data in a simple and efficient way.
Objective
The objective of this program is to design a system where you can manage employee records by adding, viewing, updating, and deleting information. This will help you understand how basic database operations can be implemented in C++.
Code for Employee Database
#include
#include
#include
using namespace std;
class Employee {
public:
int id;
string name;
string position;
double salary;
Employee(int id, string name, string position, double salary) {
this->id = id;
this->name = name;
this->position = position;
this->salary = salary;
}
void display() {
cout << "ID: " << id << ", Name: " << name << ", Position: " << position << ", Salary: " << salary << endl;
}
};
class EmployeeDatabase {
private:
vector employees;
public:
void createEmployee() {
int id;
string name, position;
double salary;
cout << "Enter Employee ID: "; cin >> id;
cin.ignore(); // to clear the buffer
cout << "Enter Employee Name: ";
getline(cin, name);
cout << "Enter Employee Position: ";
getline(cin, position);
cout << "Enter Employee Salary: "; cin >> salary;
Employee emp(id, name, position, salary);
employees.push_back(emp);
cout << "Employee added successfully!" << endl;
}
void readEmployees() {
if (employees.empty()) {
cout << "No employees in the database." << endl;
return;
}
for (const auto& emp : employees) {
emp.display();
}
}
void updateEmployee() {
int id;
cout << "Enter Employee ID to update: "; cin >> id;
bool found = false;
for (auto& emp : employees) {
if (emp.id == id) {
found = true;
string name, position;
double salary;
cout << "Enter new Employee Name: ";
cin.ignore();
getline(cin, name);
cout << "Enter new Employee Position: ";
getline(cin, position);
cout << "Enter new Employee Salary: "; cin >> salary;
emp.name = name;
emp.position = position;
emp.salary = salary;
cout << "Employee updated successfully!" << endl;
break;
}
}
if (!found) {
cout << "Employee not found." << endl;
}
}
void deleteEmployee() {
int id;
cout << "Enter Employee ID to delete: "; cin >> id;
bool found = false;
for (auto it = employees.begin(); it != employees.end(); ++it) {
if (it->id == id) {
found = true;
employees.erase(it);
cout << "Employee deleted successfully!" << endl;
break;
}
}
if (!found) {
cout << "Employee not found." << endl;
}
}
};
int main() {
EmployeeDatabase db;
int choice;
do {
cout << "\nEmployee Database Menu\n";
cout << "1. Add Employee\n";
cout << "2. View Employees\n";
cout << "3. Update Employee\n";
cout << "4. Delete Employee\n";
cout << "5. Exit\n";
cout << "Enter your choice: "; cin >> choice;
switch (choice) {
case 1:
db.createEmployee();
break;
case 2:
db.readEmployees();
break;
case 3:
db.updateEmployee();
break;
case 4:
db.deleteEmployee();
break;
case 5:
cout << "Exiting the program...\n";
break;
default:
cout << "Invalid choice! Please try again.\n";
}
} while (choice != 5);
return 0;
}
Program Explanation
The program consists of two main classes:
- Employee: This class holds the data for an employee such as ID, name, position, and salary. It also has a display method to output the employee’s details.
- EmployeeDatabase: This class handles CRUD operations like adding, viewing, updating, and deleting employees. It uses a vector to store the employee records.
The program runs in a loop, presenting a menu of operations to the user. The user can perform CRUD actions based on their choice. The loop continues until the user chooses to exit.
How to Run the Program
- Open your C++ development environment or text editor (such as Visual Studio, Code::Blocks, or a terminal-based IDE).
- Copy and paste the provided code into a new C++ source file (e.g., employee_database.cpp).
- Compile the program using the C++ compiler.
- Run the compiled executable to interact with the employee database.


I like this site because so much useful stuff on here : D.