Designing a Gradebook

Hello everyone, I have an assignment to design a grade book. When I run the code, I get no errors, but I can't figure out how to come up with the average or how to successfully get the number of grades entered, sum of grades entered, or implement a loop that states only numbers between 0-100 can be entered. The code is listed below:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "iostream.h"
#include "iomanip.h"

int main ()

{
int grade,					//Grade of student
	number_of_grades,		//Total number of grades entered
	average,				//Average of all grades entered
	letter_grade,			//Letter grade for student
	average_letter_grade;	// Average letter grade of students

int sum_of_grades = 0,		 //Sum of all grades entered
	total_grades = 0,		 //Total number of grades entered
	highest_grade = 0,		 //Highest grade on quiz
	lowest_grade = 100;		 //Lowest grade on quiz

//Do the calculations



cout << "Enter one students grade at a time. Be mindful the number must be between 0-100. When finished entering grades, enter the number 666." << endl ;
cin >> grade ;

while (grade != 666)
{
	if (0 >= grade <= 100)
	{
		int a = grade ;
		if (a >= highest_grade)
			highest_grade = a ;
			if (a <= lowest_grade)
				lowest_grade = a ;
	total_grades = grade + sum_of_grades ;
	++sum_of_grades ;
	}
	else 
	{
		cout << "The number that was entered was not between 0-100. Please enter another number" << endl ;
	}
	cout << "Enter one students grade at a time. Be mindful the number must be between 0-100. When finished entering grades, enter the number 666." << endl ;
	cin >> grade ;
}
	
	if (93 >= average)
		cout << "A" << endl ;
		else if (90 >= average)
			cout << "A-" << endl ;
		else if (88 >= average)
			cout << "B+" << endl ;
		else if (83 >= average)
			cout << "B" << endl ;
		else if ( 80 >= average)
			cout << "B-" << endl ;
		else if (78 >=average)
			cout << "C+" << endl ;
		else if (73 >=average)
			cout << "C" << endl ;
		else if (70 >=average)
			cout << "C-" << endl ;
		else if (68 >=average)
			cout << "D+" << endl ;
		else if (63 >=average)
			cout << "D" << endl ;
		else if (60 >=average)
			cout << "D-" << endl ;
		else (0 >=average) ;
			cout << "F" << endl ;
	

cout << "You have entered " << total_grades << " grades." << endl ;
cout << "The sum of grades entered is " << sum_of_grades << "." << endl ;
cout << "The average of all grades entered is " << average << ". The letter  grade for the average is " << average_letter_grade << "." << endl ;
cout << "The highest grade was " << highest_grade << "." << endl ;
cout << "The lowest grade was " << lowest_grade << "." << endl ;



return 0 ;
}
Last edited on
1
2
3
4
int sum = 0;
for( int i = 0; i < N; i++ )
    sum += a[i];
//sum is now the sum of all the elements in a (an array of length N) 


Average is just sum / N

For the maximum and minimum grade, use the high water mark algorithm.

1
2
3
4
5
6
7
do {
    cin >> grade;
    if( 0 <= grade && grade <= 100 )
        break;
    else
        cout << "Grade out of range!\n";
} while(true);

Topic archived. No new replies allowed.