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

COS1512 Assignment 2 Year 2023 Solutions + Output + Explaination

Rating
-
Sold
-
Pages
19
Uploaded on
17-07-2023
Written in
2022/2023

Complete Solutions to COS1512 Assignment 2 for the year 2023. Includes Code, Output of run-time, and Explaination.











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

Document information

Uploaded on
July 17, 2023
Number of pages
19
Written in
2022/2023
Type
Other
Person
Unknown

Subjects

Content preview

UNISA
Assignment 2
COS1512

, Question 1:
Output:

No repeated course Output:




With Repeated courses:




Code:

//COS1512 - Assignment 2 2023 Question 1
#include <iostream>

// Function without repeated modules
float calcFees(int numModules, float moduleFee) {
return numModules * moduleFee;
}

// Function with repeated modules
float calcFees(int numModules, float moduleFee, int numRepeatedModules, float repeatedModuleFee) {
return (numModules * moduleFee) + (numRepeatedModules * repeatedModuleFee);
}

int main() {
int numModules, numRepeatedModules;
float moduleFee, repeatedModuleFee;

std::cout << "Does the student repeat any modules? (0 = No, 1 = Yes): ";
int repeatModules;
std::cin >> repeatModules;

std::cout << "Enter the number of modules enrolled for the first time: ";
std::cin >> numModules;
std::cout << "Enter the fee for those modules: ";
std::cin >> moduleFee;

, float totalFees;

if (repeatModules == 0) {
totalFees = calcFees(numModules, moduleFee);
} else {
std::cout << "Enter the number of modules repeated: ";
std::cin >> numRepeatedModules;
std::cout << "Enter the fee for the repeated modules: ";
std::cin >> repeatedModuleFee;

totalFees = calcFees(numModules, moduleFee, numRepeatedModules, repeatedModuleFee);
}

std::cout << "Total tuition fees: " << totalFees << std::endl;

return 0;
}

Explanation:

1. The program starts by including the necessary header file iostream, which allows us to work with
input and output streams in C++.
2. The first overloaded function calcFees is declared with two parameters: int numModules and float
moduleFee. This function calculates the tuition fees when there are no repeated modules. It
multiplies the number of modules by the fee for each module and returns the total fees.
3. The second overloaded function calcFees is declared with four parameters: int numModules, float
moduleFee, int numRepeatedModules, and float repeatedModuleFee. This function calculates the
tuition fees when there are repeated modules. It calculates the fees for the modules taken for the
first time using the same logic as the previous function, and then adds the fees for the repeated
modules. The total fees are returned.
4. The main function is defined, which is the entry point of the program.
5. Inside the main function, the necessary variables are declared to store the user input:
numModules, numRepeatedModules, moduleFee, and repeatedModuleFee.
6. The user is prompted to enter whether the student repeats any modules, and the value is stored in
the repeatModules variable.
7. Next, the user is asked to input the number of modules enrolled for the first time (numModules)
and the fee for those modules (moduleFee).
8. Based on the value of repeatModules, the appropriate overloaded function is called to calculate
the tuition fees. If the student doesn't repeat any modules, the first calcFees function is used;
otherwise, the second calcFees function is used.
9. If the user entered that the student repeats modules, the program prompts for the number of
repeated modules (numRepeatedModules) and the fee for those modules (repeatedModuleFee).
10. The total fees are calculated by assigning the result of the calcFees function call to the totalFees
variable.
11. Finally, the total tuition fees are displayed to the user using std::cout.

The two overloaded functions are calcFees. One version accepts the number of modules and fee for the
modules enrolled for the first time, while the other version accepts additional parameters for the number
of repeated modules and fee for those repeated modules.

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.
Learn2Progress Learn2Progress
View profile
Follow You need to be logged in order to follow users or courses
Sold
75
Member since
3 year
Number of followers
63
Documents
15
Last sold
1 year ago

4,6

5 reviews

5
4
4
0
3
1
2
0
1
0

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

Frequently asked questions