Untitled

 avatar
unknown
plain_text
a year ago
1.3 kB
5
Indexable
#include <iostream>
#include <string>
using namespace std;

class Employee {
private:
    string name;
    double basic_salary;
    double DA_PERCENTAGE = 0.8;
    double HOUSE_RENT_PERCENTAGE = 0.2;

public:
    Employee(string n, double bs) : name(n), basic_salary(bs) {
        if (bs > 20000) {
            cout << "Error: Basic salary cannot be more than 20000" << endl;
            exit(1);
        }
    }

    void calculateSalary() {
        double da = basic_salary * DA_PERCENTAGE;
        double house_rent = basic_salary * HOUSE_RENT_PERCENTAGE;
        double gross_salary = basic_salary + da + house_rent;

        std::string salary_grade;
        if (gross_salary <= 25000) {
            salary_grade = "C";
        } else if (gross_salary <= 15000) {
            salary_grade = "B";
        } else {
            salary_grade = "A";
        }

        cout << "Employee Name: " << name << endl;
        cout << "Gross Salary: " << gross_salary << endl;
        cout << "Salary Grade: " << salary_grade << endl;
    }
};

int main() {
    string name;
    double basic_salary;

    cout << "Enter employee name: ";
    getline(std::cin, name);

    cout << "Enter basic salary: ";
    cin >> basic_salary;

    Employee e(name, basic_salary);
    e.calculateSalary();

    return 0;
}
Editor is loading...
Leave a Comment