summaryrefslogtreecommitdiffstats
path: root/C++/ExamAverage
diff options
context:
space:
mode:
Diffstat (limited to 'C++/ExamAverage')
-rw-r--r--C++/ExamAverage/Based/ExamAverage.cpp55
-rw-r--r--C++/ExamAverage/Exam Average Program - planning sheet.docxbin0 -> 22546 bytes
-rw-r--r--C++/ExamAverage/Exam Average Program - planning sheet.odtbin0 -> 31386 bytes
-rw-r--r--C++/ExamAverage/Exam Average Program - planning sheet.pdfbin0 -> 65464 bytes
-rw-r--r--C++/ExamAverage/ExamAverage.cpp35
5 files changed, 90 insertions, 0 deletions
diff --git a/C++/ExamAverage/Based/ExamAverage.cpp b/C++/ExamAverage/Based/ExamAverage.cpp
new file mode 100644
index 0000000..b189b94
--- /dev/null
+++ b/C++/ExamAverage/Based/ExamAverage.cpp
@@ -0,0 +1,55 @@
+// Name: msglm
+// Introduction: Exam Average
+// Description: Calculates the average score between exams given exam scores.
+
+
+#include <iostream>
+#include <string>
+#include <vector>
+using namespace std;
+int main() {
+
+ float temporaryUserInput;
+ float totalScore = 0;
+ vector<float> 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 <https://www.gnu.org/licenses/>.
+ */
+
diff --git a/C++/ExamAverage/Exam Average Program - planning sheet.docx b/C++/ExamAverage/Exam Average Program - planning sheet.docx
new file mode 100644
index 0000000..7ecf4ad
--- /dev/null
+++ b/C++/ExamAverage/Exam Average Program - planning sheet.docx
Binary files differ
diff --git a/C++/ExamAverage/Exam Average Program - planning sheet.odt b/C++/ExamAverage/Exam Average Program - planning sheet.odt
new file mode 100644
index 0000000..8e56068
--- /dev/null
+++ b/C++/ExamAverage/Exam Average Program - planning sheet.odt
Binary files differ
diff --git a/C++/ExamAverage/Exam Average Program - planning sheet.pdf b/C++/ExamAverage/Exam Average Program - planning sheet.pdf
new file mode 100644
index 0000000..cd481a2
--- /dev/null
+++ b/C++/ExamAverage/Exam Average Program - planning sheet.pdf
Binary files differ
diff --git a/C++/ExamAverage/ExamAverage.cpp b/C++/ExamAverage/ExamAverage.cpp
new file mode 100644
index 0000000..e9a6d52
--- /dev/null
+++ b/C++/ExamAverage/ExamAverage.cpp
@@ -0,0 +1,35 @@
+// Name: msglm
+// Introduction: Exam Average
+// Description: Calculates the average score between exams given exam scores.
+
+
+
+#include <iostream>
+using namespace std;
+int main() {
+ //Doubles are more percise at the cost of memory. If someone needed to optimize, here would be the area to do so.
+ double scores[5];
+ double totalScore = 0;
+
+
+ cout << "Input 5 test scores. \n";
+
+ //For 5 iterations, grab the user's input and assign it to a position in the array
+ for(int iteration = 0; iteration < 5; iteration++) {
+ cin >> scores[iteration];
+ }
+
+ //Add everything in the array together. TODO: find a better way of doing this.
+ for(int iteration = 0; iteration < 5; iteration++) {
+ totalScore = totalScore + scores[iteration];
+ }
+ //print the output of total score divided by the test score array's size (5) in this case
+ cout << "Your average score is: " << totalScore/5 << "%\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 <https://www.gnu.org/licenses/>.
+ */
+