1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
#include <iostream>
#include <cstring>
//#include <conio.h>
class Worker
{
int idNum {};
char lastName[20] {};
char firstName[20] {};
char* const lastptr {};
char* const firstptr {};
double salary {};
public:
Worker() {}
Worker(int id, const char* last, const char* first, double payRate);
void setIdNum(int id);
void setLastName(const char* last);
void setFirstName(const char* first);
void setSalary(double payRate);
void displayWorker() const;
};
Worker::Worker(int id, const char* last, const char* first, double sal) : idNum(id), salary(sal), lastptr(strcpy(lastName, last)), firstptr(strcpy(firstName, first)) {}
void Worker::setIdNum(int id)
{
idNum = (id < 0 || id > 999) ? 0 : id;
}
void Worker::setLastName(const char* last)
{
strcpy(lastName, last);
}
void Worker::setFirstName(const char* first)
{
strcpy(firstName, first);
}
void Worker::setSalary(double payRate)
{
salary = (payRate <= 5.75 || payRate > 99.99) ? 5.75 : payRate;
}
void Worker::displayWorker() const
{
std::cout << "ID #" << idNum << ", Name: " << firstName << " " << lastName
<< ", Salary: $" << salary << '\n';
}
int main()
{
const Worker aWorker(333, "Vasquez", "Juan", 15.65);
aWorker.displayWorker();
//getch();
}
|