Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4,6 TrustPilot
logo-home
Document preview thumbnail
Preview 4 out of 34 pages
Exam (elaborations)

COS3711 Assignment 2 (COMPLETE ANSWERS) 2024 - DUE 18 July 2024

Document preview thumbnail
Preview 4 out of 34 pages

Exam study book Advanced Programming Methodologies of Gianna Cioni, Andrzej Salwicki - ISBN: 9781483265452 (Guaranteed Success)

Content preview

COS3711 Assignment 2 (COMPLETE ANSWERS) 2024 - DUE 18 July 2024

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.

Downloaded by Corona Virus () lOMoARcPSD| 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


For assistance with assignments whatsapp +254702715801

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

### Step 1: Define the Classes and Inheritance



Based on the UML diagram description, you will have the following classes:



1. **Registration** (base class)

2. **StandardRegistration** (inherits from Registration)

3. **StudentRegistration** (inherits from Registration)

4. **GuestRegistration** (inherits from Registration)

5. **RegistrationList** (manages a list of registrations)



Each class will have attributes and methods corresponding to the

requirements.



### Step 2: Implement the Classes


For assistance with assignments whatsapp +254702715801

,#### Registration Class

```cpp

class Registration {

public:

Registration(const QString &name, const QString &email);

virtual ~Registration() = default;

QString getName() const;

QString getEmail() const;

virtual double getFee() const = 0; // Pure virtual function

protected:

QString name;

QString email;

};



Registration::Registration(const QString &name, const QString &email) :

name(name), email(email) {}



QString Registration::getName() const { return name; }

QString Registration::getEmail() const { return email; }

```


For assistance with assignments whatsapp +254702715801

, #### StandardRegistration Class

```cpp

class StandardRegistration : public Registration {

public:

StandardRegistration(const QString &name, const QString &email);

double getFee() const override;

private:

static constexpr double STANDARD_FEE = 100.0; // Example fee

};



StandardRegistration::StandardRegistration(const QString &name, const

QString &email) : Registration(name, email) {}



double StandardRegistration::getFee() const {

return STANDARD_FEE;

}

```



#### StudentRegistration Class

```cpp


For assistance with assignments whatsapp +254702715801

Connected book
 image
Gianna Cioni, Andrzej Salwicki Advanced Programming Methodologies
Publisher: 2014 ISBN: 9781483265452 Edition: Unknown

Document information

Uploaded on
July 16, 2024
Number of pages
34
Written in
2023/2024
Type
Exam (elaborations)
Contains
Questions & answers
R42,83

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Sold
1
Followers
1
Items
7
Last sold
2 year ago



Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their exams and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can immediately select a different document that better matches what you need.

Pay how you prefer, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card or EFT and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions