COS3711
Assignment 3
(COMPLETE
ANSWERS)
2024 - DUE 9
September 2024
CONTACT: biwottcornelius@gmail.com
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 for processing Staff member details with the specified requirements
(GUI input, file storage, enum usage), we'll follow a structured approach using C++ and Qt
framework for the GUI part. Here’s a step-by-step outline of how you can implement this:
Step-by-Step Implementation
1. Define the Staff Member Class
First, define a class StaffMember to encapsulate the details of each staff member. This class will
have:
name (QString)
birthdate (QString for simplicity, but ideally, you might use QDate or QDateTime for
better date handling)
appointmentType (enum class)
cpp
Copy code
#include <QString>
// Enum for appointment types
enum class AppointmentType {
Permanent,
PartTime,
Contract
};
For the GUI, create a Qt application with a form that allows users to input staff member details
and save them. Here’s a basic outline of the main window form (mainwindow.ui) using Qt
Designer:
Labels: Name, Birthdate, Appointment Type
Line Edits: Input fields for Name and Birthdate
Combo Box: For selecting Appointment Type (with options: Permanent, Part-time,
Contract)
Buttons: Save button to save the details entered
3. Implement MainWindow Class
In your MainWindow class (derived from QMainWindow), handle the GUI interactions and file
operations. Here’s a simplified version:
cpp
Copy code
#include <QMainWindow>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include "staffmember.h" // Include your StaffMember class
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through EFT, credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying this summary from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Solutionist. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy this summary for R46,74. You're not tied to anything after your purchase.