100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
COS3711 Assignment 2 2024 | Due 18 July 2024 $2.85   Add to cart

Exam (elaborations)

COS3711 Assignment 2 2024 | Due 18 July 2024

 89 views  11 purchases
  • Course
  • Institution

Study the following UML class diagram: The UML class diagram is an initial design of classes for a conference registration application. There are three types of registration allowed for the conference: standard registration, student registration and invited guests registration. The standard reg...

[Show more]

Preview 3 out of 23  pages

  • June 25, 2024
  • 23
  • 2023/2024
  • Exam (elaborations)
  • Questions & answers
avatar-seller
, PLEASE USE THIS DOCUMENT AS A GUIDE TO ANSWER YOUR ASSIGNMENT


Please note that the author of this document will not responsibility for any plagiarizing you
commit.

 Question 1

Study the following UML class diagram:




The UML class diagram is an initial design of classes for a conference registration application.
There are three types of registration allowed for the conference: standard registration, student
registration and invited guests registration. The standard registration fee is the standard fee
(stored in STANDARD_FEE). For those registered as students, the conference fee is half the
price of the standard registration fee. For those registered as guests, the conference fee is 10% of
the standard registration fee.

An instance of RegistrationList contains a list of Registration*. No two registrations are allowed
to have attendees with the same e-mail addresses, unless the names are different. You should be
able to query a RegistrationList whether a person (by the name) is already registered for the
conference. A RegistrationList can also return the number of attendees that are registered for
the conference from an institution. Similarly, you can request the total registration fees for a
type (“Registration”, “StudentRegistration”, “GuestRegistration” or “All”) of registration. You
are expected to use Qt’s metaobject system to access the type of a Registration in
RegistrationList.

Write a GUI application that allows users to register for a conference. The GUI should display
the current list of registrations, including the respective registration fees, in the RegistrationList
at all times, using a table widget. The interface should also allow users to request and view the
results of the various operations supported by the RegistrationList class.

You are allowed to add new features to the classes given in the UML diagram, although you are
not allowed to delete or change the given functions. You can decide on the design of the GUI, and
it can be done manually or using Qt Designer. You are expected to follow good programming
principles.

, Classes based on the UML Diagram:
 `Person`
 `Registration`
 `StudentRegistration`
 `GuestRegistration`
 `RegistrationList`

GUI Design:
 A table to display the list of registrations.
 Forms to allow users to input registration details.
 Buttons to add new registrations and perform various queries.

Implementation of the Registration Logic:
 Calculating fees based on the type of registration.
 Ensuring unique email addresses for attendees.

Step 1: Define the Classes
We'll start by defining the classes based on the UML diagram.

CODE
#include <QString>
#include <QDate>
#include <QList>

// Person Class
class Person {
private:
QString m_Name;
QString m_Affiliation;
QString m_Email;

public:
Person(QString n, QString a, QString e) : m_Name(n), m_Affiliation(a), m_Email(e) {}
QString getName() const { return m_Name; }
QString getAffiliation() const { return m_Affiliation; }
QString getEmail() const { return m_Email; }
QString toString() const {
return "Name: " + m_Name + ", Affiliation: " + m_Affiliation + ", Email: " + m_Email;
}
};

// Registration Class
class Registration {
protected:
static const double STANDARD_FEE;
Person m_Attendee;
QDate m_BookingDate;

public:
Registration(Person p) : m_Attendee(p), m_BookingDate(QDate::currentDate()) {}
Person getAttendee() const { return m_Attendee; }

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

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

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

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 these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller Aimark94. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $2.85. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

66579 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$2.85  11x  sold
  • (0)
  Add to cart