I have a problem where the user enters in their grades from their homework and exams and then the program will tell the user what their grade is. I have everything worked out below but I am missing one key aspect. There are 12 homeworks and only the best 10 are used. How would I go about extracting the best 10 homeworks out of the 12 that are entered??

``````/************************************************
**  Author          :   darklich13
**  Program         :   hw11, q4
**  Date Created        :   Nov 26, 2007

and generate the overall points out of 100 and the
equivalent letter grade based on the information
on the syllabus.

Homeworks (best 10 out of 12)   50%
Exams I & II    16%
Final Exam (comprehensive)  24%
Class Participation and attendance  10%

A+   97-100
A    92-96
A-  90-91
B+  88-89
B    82-87
B-  80-81
C+  78-79
C    72-77
C-  70-71
D+  68-69
D    60-67
E    0-59

**************************************************/

#include <iostream>
#include <iomanip>

using namespace std;

int main () {

// Set Variables

double hw1, hw2, hw3, hw4, hw5, hw6, hw7, hw8, hw9, hw10, hw11, hw12;  // Homework Variables
double exam1, exam2, final, PA;  // Variables for tests and Participation and Attendance
double total;

// Ask user to enter their scores

cout << "Enter Grade for Homework 1 (out of 100) : ";
cin >> hw1;
cout << "Enter Grade for Homework 2 (out of 100) : ";
cin >> hw2;
cout << "Enter Grade for Homework 3 (out of 100) : ";
cin >> hw3;
cout << "Enter Grade for Homework 4 (out of 100) : ";
cin >> hw4;
cout << "Enter Grade for Homework 5 (out of 100) : ";
cin >> hw5;
cout << "Enter Grade for Homework 6 (out of 100) : ";
cin >> hw6;
cout << "Enter Grade for Homework 7 (out of 100) : ";
cin >> hw7;
cout << "Enter Grade for Homework 8 (out of 100) : ";
cin >> hw8;
cout << "Enter Grade for Homework 9 (out of 100) : ";
cin >> hw9;
cout << "Enter Grade for Homework 10 (out of 100) : ";
cin >> hw10;
cout << "Enter Grade for Homework 11 (out of 100) : ";
cin >> hw11;
cout << "Enter Grade for Homework 12 (out of 100) : ";
cin >> hw12;

cout << endl << endl;

cout << "Enter Grade for Exam 1 (out of 100) : ";
cin >> exam1;
cout << "Enter Grade for Exam 2 (out of 100) : ";
cin >> exam2;
cout << "Enter Grade for Final Exam (out of 100) : ";
cin >> final;
cout << "Enter Grade for Participation and Attendance (out of 100) : ";
cin >> PA;

total =  ((hw1 * 0.7) + (hw2 * 0.7) + (hw3 * 0.7) + (hw4 * 0.7) +
(hw5 * 0.7) + (hw6 * 0.7) + (hw7 * 0.7) + (hw8 * 0.7) +
(hw9 * 0.7) + (hw10 * 0.7) +
(exam1 * 1.12) + (exam2 * 1.12) + (final * 3.36) + (PA * 1.4))/14;

cout << "Overall Grade out of 100 is " << total << endl;

if ( total >= 97 ) {
cout << "A+" << endl << endl;
}
else if ( total >= 92 ) {
cout << "A" << endl << endl;
}
else if ( total >= 90 ) {
cout << "A-" << endl << endl;
}
else if ( total >= 88 ) {
cout << "B+" << endl << endl;
}
else if ( total >= 82 ) {
cout << "B" << endl << endl;
}
else if ( total >= 80 ) {
cout << "B-" << endl << endl;
}
else if ( total >= 78 ) {
cout << "C+" << endl << endl;
}
else if ( total >= 72 ) {
cout << "C" << endl << endl;
}
else if ( total >= 70 ) {
cout << "C-" << endl << endl;
}
else if ( total >= 68 ) {
cout << "D+" << endl << endl;
}
else if ( total >= 63 ) {
cout << "D" << endl << endl;
}
else if ( total >= 60 ) {
cout << "D-" << endl << endl;
}
else if ( total <= 59 ) {
cout << "F" << endl << endl;
}

// End of main program

cout << endl;
system ("pause");
return 0;
}
``````

Edited by happygeek: fixed formatting

2
Contributors
5
Replies
6
Views
10 Years
Discussion Span
Last Post by darklich13

>How would I go about extracting the best 10 homeworks out of the 12 that are entered??

Sort them, then select the first ten, or last ten depending on what order you sorted them to begin with first.

Sorting eh??

Ok I'll see what I can find. Thanks for the help!!

You will need to use arrays, and probably use a sort procedure such as bubble sort.

[search]bubble sort c++[/search]

Thanks for pointing me in the right direction. I'll post back when I solve the problem.

Thanks again iamthwee.

I was able to get the bubble sort to work. Thanks for the suggestion.