Help please

i have to Write a program that reads a student's name, together with his or her test scores for at most 50 students from a file, provided by users of your program. The program should then compute the average test score for each student and assign the appropriate grade. The grade scale is as the follows:
90 <= average < 100, A; 80 <= average < 90 B; 70 <= average < 80, C;
60 <= average < 70, D; average < 60, F.
The program also calculates the class average.
Johnson 85 83 77 91 76
Aniston 80 90 95 93 48
Cooper 78 81 11 90 73
Gupta 92 83 30 69 87
Blair 23 45 96 38 59
Clark 60 85 45 39 67
Kennedy 77 31 52 74 83
Bronson 93 94 89 77 97
Sunny 79 85 28 93 82
Smith 85 72 49 75 63
Rosado 64 40 55 74 70
Dicicca 97 100 92 94 95
Lynch 74 85 52 60 95
Abdelgani 75 95 96 97 93
Hatcher 53 70 44 34 60
Lacap 94 95 95 95 95
Taveras 74 75 78 96 98
Thomas 64 75 39 60 75
Dauphin 47 70 79 47 80
Gomez 84 95 95 94 85

i create 3 functions :one for grade for each student,one for average and the latest one for class average and this is the one that i m having problem it doesnt give me right result can you please verified and tell me where i did mistake in the function ??? and another thing i have to sort the names in ascending order how can i do that please!!!!!!!!!!!
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
 
/* Function Declarations */
char calculateGrade(double);
void calcAverage(ifstream &, int [], int, double &);
void calclasseAverage(ifstream &, int [],double &,double &);

/* Entry-Point */

int main(void)

{

    string name;

    int i,numgrades=5,grade[5];

    double average;
	double classAvg = 0;
    char letter;ifstream inputfile;
    
    
	 inputfile.open("prog7_input.txt");

    if(inputfile.fail())

    {
        cout<<"input file did not open please check it\n";
        return 1;
    }
  
   cout << "Names\t\tTest1\tTest2\tTest3\tTest4\tTest5\tAverage\tGrade\n\n";
    inputfile>>name;                  
    while(inputfile)       
    {
        calcAverage(inputfile,grade,numgrades,average);
        letter = calculateGrade(average);
		
        cout<<name<<"    \t";
		
    for(i=0;i<numgrades;i++)

           cout<<grade[i]<<"\t";

         cout<<average<<"\t"<<letter<<"\n"; 
         
         inputfile>>name;
		}
	calclasseAverage(inputfile,grade,average,classAvg);
   	cout<<"\nClass Average =  "<<classAvg<<endl<<endl;
    inputfile.close(); 

 
    return 0;

}

 

 

/* Function to retrieve the letter grade. */

char calculateGrade(double average)

{

    if(average >=90)

        return 'A';

 
    else if(average >=80)

        return 'B';

    else if(average >=70)

        return 'C';

    else if(average>=60)
        return 'D';

    else

        return 'F';

}

 

/* Function to read an entry and calculate the average. */

void calcAverage(ifstream &in, int grade[], int max, double &average) //

{

    int i,sum=0;

    for(i=0; i < max ;i++)
		
    {

        in>>grade[i];

        sum+=grade[i];

    }

    average=(double)sum/max;
}
	/* Function to calculat the class average. */

void calclasseAverage(ifstream &in, int grade[], double &average,double &classAvg) //

{

   
	classAvg = 0;

    for(int i = 7 ;i < 8;i++)
	for(int j=1; j < 22 ;j++)
		
    {

        in>>average;

        classAvg = classAvg + average;

    }

   classAvg = classAvg/20;
}
Topic archived. No new replies allowed.