Question:
Vector testGrades contains NUM_VALS test scores. Write a for loop that sets sumExtra to the total extra credit received. Full credit is 100, so anything over 100 is extra credit. Ex: If testGrades = {101, 83, 107, 90}, then sumExtra = 8, because 1 + 0 + 7 + 0 is 8.
#include <iostream>
#include <vector>
using namespace std;
int main() {
const int NUM_VALS = 4;
vector<int> testGrades(NUM_VALS);
int i = 0;
int sumExtra = -9999; // Assign sumExtra with 0 before your for loop
testGrades.at(0) = 101;
testGrades.at(1) = 83;
testGrades.at(2) = 107;
testGrades.at(3) = 90;
/* Your solution goes here */
cout << "sumExtra: " << sumExtra << endl;
return 0;
}
Answer:
Replace /* Your solution goes here */ with the following lines of code
sumExtra = 0;
do{
if(testGrades.at(i) > 100){
sumExtra = sumExtra + (testGrades.at(i) - 100);
}
i++;
}
while(i<NUM_VALS);
Step-by-step explanation:
In the complete question posted, the variables sumExtra and i have already been declared an initialized.
So, the first thing we do in the solution is:
set sumExtra to 0 using sumExtra = 0;
Then iterate through vector testGrades using i as the iterating variable
Here, I made used of a do while loop and the explanation is as follows:
do{
This line checks if current element of the vector is greater than 100
if(testGrades.at(i) > 100){
If yes, the extra digits above 100 is added to the sumExtra
sumExtra = sumExtra + (testGrades.at(i) - 100);
}
The counter is increased, here
i++;
}
The loop is continued while the iterating variable i is less than NUM_VALS which is 4
while(i<NUM_VALS);