100% de satisfacción garantizada Inmediatamente disponible después del pago Tanto en línea como en PDF No estas atado a nada
logo-home
COS3711 Assignment 2 2024 | Due 18 July 2024 2,64 €   Añadir al carrito

Examen

COS3711 Assignment 2 2024 | Due 18 July 2024

 86 vistas  11 purchases
  • Grado
  • Institución

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

[Mostrar más]

Vista previa 3 fuera de 23  páginas

  • 25 de junio de 2024
  • 23
  • 2023/2024
  • Examen
  • Preguntas y respuestas
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; }

Los beneficios de comprar resúmenes en Stuvia estan en línea:

Garantiza la calidad de los comentarios

Garantiza la calidad de los comentarios

Compradores de Stuvia evaluaron más de 700.000 resúmenes. Así estas seguro que compras los mejores documentos!

Compra fácil y rápido

Compra fácil y rápido

Puedes pagar rápidamente y en una vez con iDeal, tarjeta de crédito o con tu crédito de Stuvia. Sin tener que hacerte miembro.

Enfócate en lo más importante

Enfócate en lo más importante

Tus compañeros escriben los resúmenes. Por eso tienes la seguridad que tienes un resumen actual y confiable. Así llegas a la conclusión rapidamente!

Preguntas frecuentes

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.

100% de satisfacción garantizada: ¿Cómo funciona?

Nuestra garantía de satisfacción le asegura que siempre encontrará un documento de estudio a tu medida. Tu rellenas un formulario y nuestro equipo de atención al cliente se encarga del resto.

Who am I buying this summary 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 this summary for 2,64 €. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

45,681 summaries were sold in the last 30 days

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

Empieza a vender
2,64 €  11x  vendido
  • (0)
  Añadir