Exam (elaborations)
COS3711 Assignment 2 (COMPLETE ANSWERS) 2024 - DUE 18 July 2024
Exam study book Advanced Programming Methodologies of Gianna Cioni, Andrzej Salwicki - ISBN: 9781483265452 (Guaranteed Success)
[Show more]
Preview 4 out of 34 pages
Uploaded on
July 16, 2024
Number of pages
34
Written in
2023/2024
Type
Exam (elaborations)
Contains
Questions & answers
Book Title: Advanced Programming Methodologies
Author(s): Gianna Cioni, Andrzej Salwicki
Edition: 2014
ISBN: 9781483265452
Edition: Unknown
Exam (elaborations)
COS3711 Assignment 2 (COMPLETE ANSWERS) 2024 - DUE 18 July 2024
Exam (elaborations)
COS3711 Assignment 2 (COMPLETE ANSWERS) 2024 - DUE 18 July 2024
Exam (elaborations)
COS3711 Assignment 2 (COMPLETE ANSWERS) 2024 - DUE 18 July 2024
All for this textbook (8)
Institution
University of South Africa
Course
Advanced Programming (COS3711)
All documents for this subject (50)
$2.60
Added
Add to cart
Add to wishlist
100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached
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 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 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 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 whatsapp +254702715801