A robust, high-performance command-line interface (CLI) application written in C. This system manages employee records using dynamic memory scaling, automated performance analytics, and dual-mode data persistence.
- Modular CRUD Engine: Seamlessly add, update, search, and remove records.
-
Dynamic Data Management: Uses
mallocandreallocfor efficient memory scalingโtested with 1,000+ entries. -
Performance Scoring: Automatically ranks employees using a weighted algorithm:
$Score = (0.3 \times \text{Experience}) + (0.7 \times \frac{\text{Salary}}{1000})$
-
Dual Persistence: * Binary: Fast I/O via
employees.dat.-
SQL Export: Generates an
employees.sqlscript for database migration.
-
SQL Export: Generates an
-
Search & Analytics: Case-insensitive search and
qsortperformance ranking.
- Language: C (C99/C11)
- Concepts: Pointer Manipulation, File I/O, Dynamic Arrays, String Sanitization
- Tools: GCC Compiler, Linux Terminal/WSL
| Component | Responsibility |
|---|---|
main.c |
Core logic and memory management |
employees.dat |
Binary storage for session persistence |
employees.sql |
SQL export (generated on exit) |
- Clone the repository:
git clone [https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git](https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git) cd YOUR_REPO_NAME - Run and compile the Application:
gcc -o employee_manager main.c ./employee_manager