// Name: msglm // Introduction: Exam Average // Description: Calculates the average score between exams given exam scores. #include #include #include using namespace std; int main() { float temporaryUserInput; float totalScore = 0; vector testScores; cout << "Please input your test scores: \nWhen finished, type any non-number input: \n"; //While loop that tests if temporaryUserInput is not valid input; terminate if not valid while (1) { //Cin that writes to temporaryUserInput cin >> temporaryUserInput; //if temporaryUserInput is a number, append temporaryUserInput to testScores & loop over if(cin.fail() && testScores.size() == 0) { cout << "You Terminated the program without giving proper input! Shame on You! \n"; return(1); } else if (cin.fail()){ //otherwise, break the loop and move on to calculating averages break; } else { //This is the point where the test scores are appended to and a loop happens testScores.push_back(temporaryUserInput); } } //for every number in the vector testScores, add that number to testScoresSum for (int number = 0; number <= testScores.size(); number++) { totalScore = totalScore + testScores[number]; } //print the output of testScoresSum divided by the length of testScores cout << "Your average score is: " << totalScore/testScores.size() << "%\n"; } /*This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program. If not, see . */