Please I submit this assignment before but I didn\'t get the right answer, I nee
ID: 3742525 • Letter: P
Question
Please I submit this assignment before but I didn't get the right answer, I need help.
Create an Employee class that includes three private data members— firstName (type string), lastName (type string), and monthlySalary (type int ).
It also includes several public member functions.
1. A constructor initializes the three data members.
2. A setFirstName function accepts a string parameter and does not return any data. It sets the firstName.
3. A getFirstName function does not accept any parameter and returns a string. It returns the firstName.
4. A setLastName function accepts a string parameter and does not return any data. It sets the lastName.
5. A getLastName function does not accept any parameter and returns a string. It returns the lastName.
6. A setMonthlySalary function accepts an integer parameter and does not return any data. It sets the monthlySalary. If the monthly salary is less than or equal zero, set it to 1000 and it displays the employee’s first name, last name and the inputted salary with a statement “**==The salary is set to $1000.”
7. A getMonthlySalary function does not accept any parameter and returns an integer. It returns the monthlySalary.
8. An increaseMonthlySalary function accepts an integer parameter and does not return any data. It increases the monthlySalary by integer%. The increase could be positive or negative. When this function is called the salary adjusted employee’s name and salary information will be displayed (please see the following image for details).
Explanation / Answer
Here is the completed code for this problem. Comments are included, go through it, learn how things work and let me know if you have any doubts. Thanks
//Code
#include<iostream>
using namespace std;
//Employee class
class Employee{
private:
//private attributes
string firstName;
string lastName;
int monthlySalary;
public:
//default constructor
Employee(){
firstName="";
lastName="";
monthlySalary=1000;
}
//setter method for first name
void setFirstName(string name){
firstName=name;
}
//getter method for first name
string getFirstName(){
return firstName;
}
//setter method for last name
void setLastName(string name){
lastName=name;
}
//getter method for last name
string getLastName(){
return lastName;
}
//setter method for monthlySalary
void setMonthlySalary(int sal){
if(sal<=0){
//setting default value
monthlySalary=1000;
cout<<firstName<<" "<<lastName<<", The salary has been set to $1000"<<endl;
}else{
monthlySalary=sal;
}
}
//getter method for monthlySalary
int getMonthlySalary(){
return monthlySalary;
}
//method to increment/decrement salary of an employee by given percentage
void increaseMonthlySalary(int percent){
int difference=monthlySalary*percent/100.0;
monthlySalary+=difference;
cout<<firstName<<" "<<lastName<<"'s salary has been updated to $"<<monthlySalary<<endl;
}
};
int main(){
//creating an Employee object and testing it
Employee emp;
emp.setFirstName("Oliver"); //setting first name
emp.setLastName("Queen"); //setting last name
emp.setMonthlySalary(-100); //will be set to $1000 because -100 is an invalid salary
emp.increaseMonthlySalary(5); //salary will be incremented by 5 percent
emp.increaseMonthlySalary(-25); //salary will be decremented by 25 percent
return 0;
}
/*OUTPUT*/
Oliver Queen, The salary has been set to $1000
Oliver Queen's salary has been updated to $1050
Oliver Queen's salary has been updated to $788