This is the final code for those who are interested:
Code:
#include <stdio.h>
#include <stdlib.h>
int studentgrades [10][5]={0};
int a;
/* Enter grades for a student */
int enter_grades(){
int j;
printf ("\nEnter student number you want to enter grades for: ");
scanf ("%d", &a);
printf ("Enter grades for student number %d: ", a);
for (j = 0; j<5; j++)
scanf ("%d", *(studentgrades+(a-1))+j);
printf ("Thank you!\n\n");
return 0;
}
/* Find average grades for a particular student */
int find_average(){
int ave=0, sum=0, s;
printf ("\nEnter student number you want to get an average for: ");
scanf ("%d", &a);
for (s = 0; s<5; s++){
sum += *(*(studentgrades+(a-1))+s);}
ave=(sum/5);
printf ("Average grade for student number %d is: %d\n", a, ave);
printf ("Thank you!\n\n");
return ave;
}
/* Find letter grade for a particular student */
void find_letter(){
int ave=0, sum=0, s;
printf ("\nEnter student number you want to get an average for: ");
scanf ("%d", &a);
for (s = 0; s<5; s++){
sum += *(*(studentgrades+(a-1))+s);}
ave=(sum/5);
if (ave<=100 && ave>=90)
printf ("Letter grade for student number %d: A\n", a);
else if (ave<90 && ave>=80)
printf ("Letter grade for student number %d: B\n", a);
else if (ave<80 && ave>=70)
printf ("Letter grade for student number %d: C\n", a);
else if (ave<70 && ave>=60)
printf ("Letter grade for student number %d: D\n", a);
else if (ave<60 && ave>=0)
printf ("Letter grade for student number %d: E\n", a);
printf ("Thank you!\n\n");
}
/* Find average grade and letter grade for the whole class */
int avegrade_class() {
int s,t,i,ave=0, sum=0, empty=0;
for ( i = 0; i < 10; i++ ) {
if ( *(*(studentgrades+i)+0) == 0 ) {
empty = 1;
break;
}
}
if ( empty )
return printf("Not all grades entered\n\n");
else{
for (s = 0; s<5; s++){
for (t=0; t<10; t++){
sum += *(*(studentgrades+t)+s);}
}
ave=(sum/50);
printf ("Average grade for the whole class: %d", ave);
if (ave<=100 && ave>=90)
printf ("\nLetter grade for the whole class: A\n");
else if (ave<90 && ave>=80)
printf ("\nLetter grade for the whole class: B\n");
else if (ave<80 && ave>=70)
printf ("\nLetter grade for the whole class: C\n");
else if (ave<70 && ave>=60)
printf ("\nLetter grade for the whole class: D\n");
else if (ave<60 && ave>=0)
printf ("\nLetter grade for the whole class: E\n");
printf ("Thank you!\n\n");
}
}
/* Find how much would a student need to increase his letter grade */
void increase() {
int sum=0, s, grade=0;
printf ("Enter student number: ");
scanf ("%d", &a);
for (s = 0; s<5; s++){
sum += *(*(studentgrades+(a-1))+s);}
if (sum>=450)
printf ("Letter grade can not be increased, already an A.\n");
else if (sum<450 && sum>=400){
grade=450-sum;
printf ("Number of points needed to increase letter grade: %d\n", grade);}
else if (sum<400 && sum>=350){
grade=400-sum;
printf ("Number of points needed to increase letter grade: %d\n", grade);}
else if (sum<350 && sum>=300){
grade=350-sum;
printf ("Number of points needed to increase letter grade: %d\n", grade);}
else if (sum<300){
grade=300-sum;
printf ("Number of points needed to increase letter grade: %d\n", grade);}
printf ("Thank you!\n\n");
}
/*displays the menu,select choice*/
int menu() {
int a;
printf("1. Enter grades for a student\n"
"2. Find average grades for a particular student\n"
"3. Find letter grade for a particular student\n"
"4. Find average grade and letter grade for the whole class\n"
"5. Find how much would a student need to increase his letter grade\n"
"6. Exit\n"
"Enter your choice: ");
scanf ("%d", &a);
switch (a)
{
case 1: enter_grades(); break;
case 2: find_average(); break;
case 3: find_letter(); break;
case 4: avegrade_class(); break;
case 5: increase(); break;
case 6: exit(0);
}
}
int main()
{
while(1) {
menu();
}
system("PAUSE");
return 0;
}