Problem #11
Solution Source Code
Code Overview
1. Header Files and Namespace:
<iostream>is included for input and output operations.<string>is included for potential future use (not used in this program).using namespace std;allows the use of standard functions without prefixing them withstd::.
2. Enumeration Definition (enPassFail)
- Defines:
Pass = 1(for an average 50 or above)Fail = 2(for an average below 50)
3. User Input Function (ReadNumbers)
- Uses reference parameters (
int &Mark1, int &Mark2, int &Mark3) to modify the values directly. - Prompts the user to enter three exam marks and stores them in the provided reference variables.
4. Sum Calculation Function (SumOf3Marks)
- Takes three integer values as input.
- Returns the sum of the three marks.
5. Average Calculation Function (CalculateAverage)
- Calls
SumOf3Marks()to compute the total sum. - Divides the sum by
3to calculate the average. - Returns the computed average as a
float.
6. Average Evaluation Function (CheckAverage)
- Takes the computed average as input.
- Returns:
enPassFail::Passif the average is 50 or greater.enPassFail::Failif the average is below 50.
7. Output Function (PrintResults)
- Receives the computed average as a parameter.
- Prints
"Your Average is: [Average]". - Calls
CheckAverage()to determine whether the student has passed or failed. - Prints
"You Passed"if the student qualifies, otherwise prints"You Failed".
8. Program Execution (main())
- Declares three integer variables (
Mark1, Mark2, Mark3). - Calls
ReadNumbers()to get user input. - Calls
CalculateAverage()to compute the average. - Calls
PrintResults()to display the average and pass/fail result. - Returns
0to indicate successful execution.
This structured explanation ensures clarity and ease of understanding.
10 comments