100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Exam (elaborations)

COS3711 Assignment 1 (COMPLETE GUIDELINE) 2025

Rating
3.5
(4)
Sold
16
Pages
15
Grade
A+
Uploaded on
14-04-2025
Written in
2024/2025

COS3711 Assignment 1 (COMPLETE GUIDELINE) 2025 - DUE April 2025; 100% TRUSTED Complete, trusted solutions and explanations. For assistance, Whats-App 0.6.7-1.7.1-1.7.3.9. Ensure your success with us.... Question 1 Write a console application that can be run from the command line using the following forms: count // run without any parameters count // pass one file name count fileT // pass more than one file name count –a –b fileT // pass flags to change behaviour count –ab –c // pass flags in an alternative way If no arguments are provided, then print a message describing what arguments should be included. The application should, using regular expressions, count the number of occurrences of each of the following in the text files given. • If the –a flag is set, count the number of words longer than 4 characters that start with a capital letter. There may be further capital letters in the word. • If the –b flag is set, count the number of words that are hyphenated. This hyphen should not be at the start or end of a word. • If the –c flag is set, count the number of words that start and end on the same character. • If the –d flag is set, count the number of words that do not start with a vowel. Note that these words can start with any character, and do not just have to start with alphabetic characters. If no flags are provided, it is assumed that all counts should be performed. It is suggested that you remove all whitespace at the start and end of the document, as well are removing all punctuation (.,?!:; and so on) – try doing this using a regular expression. Assume that there is only 1 space between words. Remember that to set command line arguments in Qt Creator, click on Projects in the left menu, click on the Run menu and enter the arguments in the Command line arguments field. You can also click the Run in terminal check box. Downloaded by Polar magnats () lOMoARcPSD| COS3711/Assignment 1/2025 3 See the screenshot below for an example of the output for the arguments that were used above. Question 2 Create a graphical user interface that allows a user to deposit or withdraw an amount. Display the current date on the interface. Below is an example of such an interface. Create a Transaction class that stores the date, time, amount, and type of transaction (deposit or withdrawal, implemented as an enum). Transactions should be handled as pointers. Downloaded by Polar magnats () lOMoARcPSD| COS3711/Assignment 1/2025 4 Create a TransactionList class that keeps a single list of transactions. There should be only one instance of this list allowed, so implement it using the Singleton design pattern. When the user clicks the Deposit or Withdrawal button, the transaction should be written to the transaction list. Display the transaction in a console window as well (this is as a check that the transaction is actually being created. When the user clicks on the To file button, the list of transactions should be written to a human-readable text file. Ensure that your graphical user interface class handles only the interface, and does not contain code that is used to manage the transaction list; create a separate class for this purpose. Question 3 In this exercise, you will design a simple calculator with four basic operations, namely addition, subtraction, multiplication, and division. Implementation of this simple calculator should separate the code for user interface and mathematical operations. The code for performing mathematical operations should be designed using the following class hierarchy: Downloaded by Polar magnats () lOMoARcPSD| COS3711/Assignment 1/2025 5 The Operation class hierarchy contains the logic for performing various mathematical operations. A concrete class in this hierarchy represents one mathematical operation, which is performed in its compute() function that returns the result of an operation. Implement the Factory method design pattern using one factory class named OperationFactory so that an instance of a class in the Operation class hierarchy can be created based on the requested operation (+, -, *, /). Additionally, OperationFactory should also be an implementation of Singleton. The user interface for the calculator should make use of five QPushbuttons, two QDoubleSpinBoxes and one QLCDNumber as shown below: QDoubleSpinBoxes allow user to enter numbers and QLCDNumber is for displaying the result of the calculation. To use the calculator, the user should first enter two numbers and then select one of the four (+, -, *, /) buttons. The result of the operation is displayed in QLCDNumber. The button clear is used to clear QDoubleSpinBoxes and QLCDNumber. Note the following: • The signals emitted by the four buttons (+, -, *, /) should be handled in a single slot. • The user interface code should make use of the Operation class hierarchy to get the result of the requested operation. • Handle overflow in QLCDNumber display appropriately. • Handle division by 0 appropriately.

Show more Read less
Institution
Module








Whoops! We can’t load your doc right now. Try again or contact support.

Connected book

Written for

Institution
Module

Document information

Uploaded on
April 14, 2025
Number of pages
15
Written in
2024/2025
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

Content preview

COS3711
Assignment 1 2025
Detailed Solutions, References & Explanations

Unique number:

Due Date: April 2025
QUESTION 1

Console Application

#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QRegularExpression>
#include <QDate>
#include <QStringList>
#include <iostream>

void printUsage() {
std::cout << "Usage:\n";
std::cout << "count [flags] [file1.txt file2.txt ...]\n";
std::cout << "Flags:\n";
std::cout << " -a Count capitalized words longer than 4
characters\n";
std::cout << " -b Count hyphenated words\n";
std::cout << " -c Count words that start and end with the same
letter\n";
std::cout << " -d Count words that do NOT start with a vowel\n";
} Terms of use
By making use of this document you agree to:
QString preprocessText(const QString &content) {
 Use this document as a guide for learning, comparison and reference purpose,
Terms of use
 Not to duplicate, reproduce and/or misrepresent the contents of this document as your own work,
By making use of this document you agree to:
 Use this document
Fully accept the consequences
solely as a guide forshould you plagiarise
learning, reference,or and
misuse this document.
comparison purposes,
 Ensure originality of your own work, and fully accept the consequences should you plagiarise or misuse this document.
 Comply with all relevant standards, guidelines, regulations, and legislation governing academic and written work.

Disclaimer
Great care has been taken in the preparation of this document; however, the contents are provided "as is" without any express or
implied representations or warranties. The author accepts no responsibility or liability for any actions taken based on the
information contained within this document. This document is intended solely for comparison, research, and reference purposes.
Reproduction, resale, or transmission of any part of this document, in any form or by any means, is strictly prohibited.
£2.28
Get access to the full document:
Purchased by 16 students

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached

Reviews from verified buyers

Showing all 4 reviews
6 months ago

5 months ago

good , was very helpfull in understadning the assingment

7 months ago

7 months ago

3.5

4 reviews

5
1
4
2
3
0
2
0
1
1
Trustworthy reviews on Stuvia

All reviews are made by real Stuvia users after verified purchases.

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
EduPal University of South Africa (Unisa)
Follow You need to be logged in order to follow users or courses
Sold
149163
Member since
7 year
Number of followers
35995
Documents
4310
Last sold
1 hour ago

4.2

13554 reviews

5
7802
4
2688
3
1790
2
455
1
819

Recently viewed by you

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

Didn't get what you expected? Choose another document

No problem! You can straightaway pick a different document that better suits what you're after.

Pay as you like, start learning straight away

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

Student with book image

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

Alisha Student

Frequently asked questions