COS3711
ASSIGNMENT 3 2024
- DUE 9 SEPTEMBER
2024
QUESTIONS WITH COMPLETE ANSWERS
[DATE]
[COMPANY NAME]
[Company address]
,COS3711 Assignment 3 2024 - DUE 9 September 2024
COS3711 Assignment 3 2024 - DUE 9 September 2024
Question 1
Write an application that can be used to process Staff member details. The
fields that should be stored include:
• A name,
• A birthdate, and
• A staff appointment type (one of permanent, part-time, or contract, stored as
an enum). Note that the getter and setter for this data member may be done
using a QString. Downloaded by Corona Virus () lOMoARcPSD| The
application should allow a user to enter details via GUI. Also, once a staff
member’s details are entered, they should be written to file (in any acceptable
format) and stored in a container in the application. Ensure that you adhere
to basic design principles, and avoid any anti-patterns in the design of your
solution.
To create an application that processes staff member details, you can use a combination of C++
and Qt for the GUI. This example will include classes to handle the staff details, enums for
appointment types, and methods for saving to a file and storing the data in a container. Here is a
high-level overview and code for this application:
1. Setting Up the Environment
Ensure you have Qt installed on your system. You can download it from the Qt website.
2. Defining the Staff Class
First, define a class to hold the staff member details:
COS3711 Assignment 3 2024 - DUE 9 September 2024
, COS3711 Assignment 3 2024 - DUE 9 September 2024
cpp
Copy code
#include <QString>
#include <QDate>
enum class AppointmentType {
Permanent,
PartTime,
Contract
};
class Staff {
private:
QString name;
QDate birthdate;
AppointmentType appointmentType;
public:
Staff() = default;
Staff(const QString& name, const QDate& birthdate, AppointmentType type)
: name(name), birthdate(birthdate), appointmentType(type) {}
QString getName() const { return name; }
void setName(const QString& name) { this->name = name; }
QDate getBirthdate() const { return birthdate; }
void setBirthdate(const QDate& birthdate) { this->birthdate = birthdate;
}
QString getAppointmentType() const {
switch (appointmentType) {
case AppointmentType::Permanent: return "Permanent";
case AppointmentType::PartTime: return "PartTime";
case AppointmentType::Contract: return "Contract";
}
return "";
}
COS3711 Assignment 3 2024 - DUE 9 September 2024
ASSIGNMENT 3 2024
- DUE 9 SEPTEMBER
2024
QUESTIONS WITH COMPLETE ANSWERS
[DATE]
[COMPANY NAME]
[Company address]
,COS3711 Assignment 3 2024 - DUE 9 September 2024
COS3711 Assignment 3 2024 - DUE 9 September 2024
Question 1
Write an application that can be used to process Staff member details. The
fields that should be stored include:
• A name,
• A birthdate, and
• A staff appointment type (one of permanent, part-time, or contract, stored as
an enum). Note that the getter and setter for this data member may be done
using a QString. Downloaded by Corona Virus () lOMoARcPSD| The
application should allow a user to enter details via GUI. Also, once a staff
member’s details are entered, they should be written to file (in any acceptable
format) and stored in a container in the application. Ensure that you adhere
to basic design principles, and avoid any anti-patterns in the design of your
solution.
To create an application that processes staff member details, you can use a combination of C++
and Qt for the GUI. This example will include classes to handle the staff details, enums for
appointment types, and methods for saving to a file and storing the data in a container. Here is a
high-level overview and code for this application:
1. Setting Up the Environment
Ensure you have Qt installed on your system. You can download it from the Qt website.
2. Defining the Staff Class
First, define a class to hold the staff member details:
COS3711 Assignment 3 2024 - DUE 9 September 2024
, COS3711 Assignment 3 2024 - DUE 9 September 2024
cpp
Copy code
#include <QString>
#include <QDate>
enum class AppointmentType {
Permanent,
PartTime,
Contract
};
class Staff {
private:
QString name;
QDate birthdate;
AppointmentType appointmentType;
public:
Staff() = default;
Staff(const QString& name, const QDate& birthdate, AppointmentType type)
: name(name), birthdate(birthdate), appointmentType(type) {}
QString getName() const { return name; }
void setName(const QString& name) { this->name = name; }
QDate getBirthdate() const { return birthdate; }
void setBirthdate(const QDate& birthdate) { this->birthdate = birthdate;
}
QString getAppointmentType() const {
switch (appointmentType) {
case AppointmentType::Permanent: return "Permanent";
case AppointmentType::PartTime: return "PartTime";
case AppointmentType::Contract: return "Contract";
}
return "";
}
COS3711 Assignment 3 2024 - DUE 9 September 2024