100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
COS3711 Assignment 2 2024 | Due 18 July 2024 €2,65   In winkelwagen

Tentamen (uitwerkingen)

COS3711 Assignment 2 2024 | Due 18 July 2024

 86 keer bekeken  11 aankopen
  • 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; }

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

Verzekerd van kwaliteit door reviews

Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

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,65. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

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

Afgelopen 30 dagen zijn er 72841 samenvattingen verkocht

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

Start met verkopen
€2,65  11x  verkocht
  • (0)
  Kopen