100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten
logo-home
COS3711 Assignment 2 2024 | Due 18 July 2024 €2,67
In winkelwagen

Tentamen (uitwerkingen)

COS3711 Assignment 2 2024 | Due 18 July 2024

 11 keer verkocht
  • Vak
  • Instelling

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...

[Meer zien]

Voorbeeld 3 van de 23  pagina's

  • 25 juni 2024
  • 23
  • 2023/2024
  • Tentamen (uitwerkingen)
  • Vragen en antwoorden
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; }

Dit zijn jouw voordelen als je samenvattingen koopt bij Stuvia:

Bewezen kwaliteit door reviews

Bewezen kwaliteit door reviews

Studenten hebben al meer dan 850.000 samenvattingen beoordeeld. Zo weet jij zeker dat je de beste keuze maakt!

In een paar klikken geregeld

In een paar klikken geregeld

Geen gedoe — betaal gewoon eenmalig met iDeal, Bancontact of creditcard en je bent klaar. Geen abonnement nodig.

Focus op de essentie

Focus op de essentie

Studenten maken samenvattingen voor studenten. Dat betekent: actuele inhoud waar jij écht wat aan hebt. Geen overbodige details!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper Aimark94. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €2,67. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 68175 samenvattingen verkocht

Opgericht in 2010, al 15 jaar dé plek om samenvattingen te kopen

Start met verkopen
€2,67  11x  verkocht
  • (0)
In winkelwagen
Toegevoegd