Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <vector>
- #include <limits>
- using namespace std;
- struct Employee {
- int id;
- string name;
- string jobTitle;
- double salary;
- };
- vector<Employee> employees;
- void addNewEmployee() {
- Employee newEmployee;
- cout << "Enter employee ID: ";
- cin >> newEmployee.id;
- cin.ignore(numeric_limits<streamsize>::max(), '\n'); // ignore newline character
- cout << "Enter employee name: ";
- getline(cin, newEmployee.name);
- cout << "Enter job title: ";
- getline(cin, newEmployee.jobTitle);
- cout << "Enter salary: ";
- cin >> newEmployee.salary;
- employees.push_back(newEmployee);
- cout << "Employee added successfully!" << endl;
- }
- void showAllEmployees() {
- cout << "Employee List:" << endl;
- for (int i = 0; i < employees.size(); i++) {
- cout << "ID: " << employees[i].id << ", Name: " << employees[i].name << ", Job Title: " << employees[i].jobTitle << ", Salary: " << employees[i].salary << endl;
- }
- }
- double calculatePayroll() {
- double totalPayroll = 0.0;
- for (int i = 0; i < employees.size(); i++) {
- totalPayroll += employees[i].salary;
- }
- return totalPayroll;
- }
- void generatePayslip() {
- int employeeID;
- cout << "Enter employee ID: ";
- cin >> employeeID;
- for (int i = 0; i < employees.size(); i++) {
- if (employees[i].id == employeeID) {
- cout << "Payslip for Employee " << employees[i].name << endl;
- cout << "Job Title: " << employees[i].jobTitle << endl;
- cout << "Gross Salary: " << employees[i].salary << endl;
- cout << "Net Pay: " << employees[i].salary * 0.8 << endl; // assume 20% tax
- return;
- }
- }
- cout << "Employee not found!" << endl;
- }
- void generatePayrollReport() {
- double totalPayroll = calculatePayroll();
- cout << "Payroll Report:" << endl;
- cout << "Total Payroll: " << totalPayroll << endl;
- cout << "Average Salary: " << totalPayroll / employees.size() << endl;
- }
- int main() {
- int choice;
- while (true) {
- cout << "Employee Management System" << endl;
- cout << "1. Add New Employee" << endl;
- cout << "2. Show All Employees" << endl;
- cout << "3. Calculate Payroll" << endl;
- cout << "4. Generate Payslip" << endl;
- cout << "5. Generate Payroll Report" << endl;
- cout << "6. Exit" << endl;
- cout << "Enter your choice: ";
- cin >> choice;
- switch (choice) {
- case 1:
- addNewEmployee();
- break;
- case 2:
- showAllEmployees();
- break;
- case 3:
- cout << "Total Payroll: " << calculatePayroll() << endl;
- break;
- case 4:
- generatePayslip();
- break;
- case 5:
- generatePayrollReport();
- break;
- case 6:
- cout << "Exiting program..." << endl;
- return 0;
- default:
- cout << "Invalid choice. Please try again." << endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement