Need Help with my Program (read in grades)
I am having a hard time with my program (I'm still getting used to arrays). It's supposed to show a table for students and their grades, and then showing what each student made. Here is my code for the main:
Code:
#include <stdio.h>
#include "constant.h"
int readValues(int[]);
int findMedian(int[], int);
extern void bubblesort(int[], int);
int main()
{
int i,j;
int median[EXAMSCORES],meanExam[EXAMSCORES],meanStudent[NUMBERofSTUDENTS];
int grade[NUMBERofSTUDENTS],counts[101];
int scores[NUMBERofSTUDENTS][EXAMSCORES];
int sum=0;
for ( i = 0; i < NUMBERofSTUDENTS; i++)
{
for(j=0;j<EXAMSCORES;j++)
{
sum+=scores[i][j];
}
}
for(i=0;i<EXAMSCORES;i++)
{
for(j=0;j<NUMBERofSTUDENTS;j++)
{
grade[j]=scores[j][i];
}
bubblesort(grade,NUMBERofSTUDENTS);
median[i]=grade[NUMBERofSTUDENTS/2];
}
for(i=0;i<NUMBERofSTUDENTS;i++)
{
for(j=0;j<EXAMSCORES;j++)
{
sum+=scores[i][j];
}
meanStudent[i]=sum/EXAMSCORES;
}
for(i=0;i<EXAMSCORES;i++)
{
for(j=0;j<NUMBERofSTUDENTS;j++)
{
sum+=scores[j][i];
}
meanExam[i]=sum/NUMBERofSTUDENTS;
}
for(i = 0; i < EXAMSCORES; i++)
{
for(j=0;j<NUMBERofSTUDENTS;j++)
{
counts[scores[j][i]++];
}
//printf the distribution for each exam here
//printf("Student | Exam %d | Std Avg\n",i);
//printf("Student %d | %d | %d\n",counts[i],j,meanStudent[NUMBERofSTUDENTS]);
//printf("Exam Avg | %d | %d\n",meanExam[EXAMSCORES]);
//printf("Exam Median | %d | %d\n",median[EXAMSCORES]);
//printf("EXAM GRADE DISTRIBUTION:\n");
for(i=0;i<101;i++)
{
if(counts[i]!=0)
{
printf("Score %d : %d - %d above, %d below ",i,counts[i],grade[NUMBERofSTUDENTS],grade[EXAMSCORES]);
//declare varioubles : e.g. int above,below; in the main....
}
}
printf("\n");
}
return 0;
}
int readValues(int scores[])
{
int thisScore;
int i = 0;
if (scanf("%d",&thisScore) != 1)
return i;
while( thisScore != -999 )
{
scores[i++] = thisScore;
assert(i < NUM); // make sure that i < 101
if (scanf("%d",&thisScore) != 1) // get the next score
break;
}
return i;
}
Constants
Code:
#define NUMBERofSTUDENTS 200
#define EXAMSCORES 4
Bubblesort
Code:
void bubblesort(int a[], int arraynum)
{
int i, j;
int temp;
for(i = 0; i < arraynum-1; i++)
{
for( j = 0; j < arraynum-i-1; j++)
{
if( a[j] > a[j+1] )
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
If anyone can help me that would be great. I am still new to arrays, so if anyone can help me with naming variables and such I would appreciate it. In case I missed anything here is a link to the assignment http://www.cse.unt.edu/~donr/courses.../program3.html